Text 22646, 237 rader
Skriven 2011-10-23 00:37:22 av Janis Kracht (1:261/38)
Ärende: FidoNews Vol. 28 No. 43 Neat things you can do with Linux III
=====================================================================
Neat Things You Can Do with Linux
By Janis Kracht, 1:261/38, janis@filegate.net
In the previous issue we worked with ls, and I showed you a chart
comparing some linux commands to their DOS counterparts where they
exist.. mainly to show you that living in the land of Linux need not
make you feel totally lost once you complete an install. This week
we'll look at compressors, how to see what's going on your linux
box, and finally, we'll look at grep as a search tool.
===============================================================
Switches/options of commonly used commands.
===============================================================
(see man cmd, or cmd --help for more options/details)
===============================================================
Command Description
================================================================
ls Directory list
ls -ltr sorted by date, reverse order (comparable to dos "d
ls --color=auto turn on color for file types in directory list
ls -1 one column list in directory
ls -d .* show only "." directories
ex: ls -ltr --color=auto
du Disk space used
du -X disclude files in "list".
du -h . Disk space used in this directory, in human readable
numbers.
du -m . Disk space used in this directory, in Megabytes
du -c Disk space used with total.
du -hc Disk space used with total, in human readable number
ex: du -hc -X out.txt /home/ftp/pub* > /usr/local/bbbs/menus/bull5
(out.txt: index.html
dir2html.sh
ziplist
descript.ion
descript.ion~
dir2html.sh~
index.html~
files.bbs
lost+found
)
The above example will generate a decent File "overview" bulletin. It ex
backup files (filename~) and other you may not want included.
df Disk space free
df -h Disk space free in human readable format, all drives
df -h . Disk space free, current drive only.
===============================================================
How to Copy/Paste from the command line on a tty:
===============================================================
Hold down left mouse button, drag across text. Place cursor in the loca
where you'd like to copy the text. Press right mouse button.
In Linux's XWindows gui , you can do the same by highlighting text
you want to copy with the left mouse button, and you copy the text to
the new location by pressing BOTH mouse buttons simultaneously. You
can highlight the text on one window and copy it to the command-line
on another.
===============================================================
Notes about Archivers, etc.:
==============================================================
Archivers which you may have used under DOS are available:
name:
DOS Linux
===============================
pkzip info-zip
pkunzip info-unzip
lha lha
arj -
unarj unarj
pkzip251 info-zip
arc arc
rar rar
zoo zoo
===============================================================
Viewing multiple Archives:
===============================================================
As you probably know, unzip -v filename.zip will list the contents of on
archive. To list the contents of multiple archives, enclose the argumen
quotes:
unzip -v "*.zip"
ex.: [bbs@filegate.net$ unzip -v "*.zip"
Archive: nodelist.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
1706292 Defl:N 560625 67% 09-14-99 15:57 a18214bc NODELIST.25
-------- ------- --- -------
1706292 560625 67% 1 file
Archive: ppphowto.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
158718 Defl:N 48642 69% 10-16-99 20:32 b4ad98a9 PPP-HOWTO
-------- ------- --- -------
158718 48642 69% 1 file
2 archives were successfully processed.
===============================================================
tar/gzip:
===============================================================
Tar and gzip are used commonly on Linux. Often you'll see archives with
.tgz extensions, or no extension at all. You can use the File command t
see how the file is archived/stored if there is no extension or if
you are just curious:
[bbs@filegate.net]$ file ZPMF025D.TGZ
ZPMF025D.TGZ: gzip compressed data, deflated, last modified: Thu Jun 8
04:55:16 1995, max compression, os: Unix
So you'd need to un-gzip this file first, then un-tar it.
gzip -d ZPMF025D.TGZ
This results in the file ZPMF025.tar
To list the contents of the tar file, type tar -tf filename.tar
To extract the tar, type tar -xf filename.tar
There are options to "keep old files" with both gzip and tar which you m
also want to include on the command line. The default action is to remo
the original tar. See tar --help, and gzip --h for more info.
Here's a shortcut to extract both the tar and gzip files in one command:
tar xvzf filename.tar.gz
the "z" flag says "un-gzip before un-tarring". The same flag works i
reverse when tarring.
Using grep with the PS command, you can search for processes that are
currently running... or users who are currently logged in.
Simple uses of grep would be searching for say a name in a file, like
the nodelist:
grep -i janis nodelist/nodelist.294 (-i stipultates case
insensitive search)
bbs@filegate:~/$ grep -i janis /home/bbbs/nodelist/nodelist.294
Zone,1,North_America,Windsor_NY,Janis_Kracht,1-607-655-5652,9600,CM,XX,H
,38,<<PRISM_BBS,Windsor_NY,Janis_Kracht,1-607-655-5652,9600,CM,XX,H16,V3
,100,<<PRISM_BBS,Windsor_NY,Janis_Kracht,000-0-0-0-0,300,CM,INA:filegate
,3,tHe_fLy_iN_tHe_uNdErGrOuNd,Iecava,Janis_Janushavichus,371-63941088,96
,12,CartManLand,Vangazi,Janis_Reklaitis,371-67770103,9600,MO,V32B,V34,V4
ps aux shows you a report a snapshot of the current processes.. so
you can see exactly what is going on "right now" on your system.
When you combine it with grep, you can search for a particular user
or program.
Here's an example of how I check to see if any of my ftp users are
online before I move their files from their /home/~/in/ directory to
my /home/bbbs/inbound directory:
First I make a list of all the ftp users:
joe dirlist
=contents of dirlist.txt=
kinal
delahay
ritch
heino
===
Then I use bash commands to examine each name if it exists in the
currently running processes:
#!/bin/sh
cd /home/bbbs
for file in `cat /home/bbbs/dirlist`
do
if ps aux | grep ^$file
then
echo "---user $file online---"
elif test -e /home/$file/*/*.bsy
then
echo "$file bsy-flag exists"
else
echo "safe to move files from $file"
mv /home/$file/in/* /home/bbbs/inbound
fi
done
chmod 755 /home/bbbs/inbound/*.*
chown bbs:bbs /home/bbbs/inbound/*.*
A simpler application of grep with ps aux would be to search the current
'snapshot' for a particular program (are my telnet nodes running??)
ps aux|grep bbbs
bbs@filegate:~/$ ps aux|grep bbbs
bbs 4194 0.0 0.0 32872 1424 pts/2 S Oct14 6:16
./bbbsd 3 7 telnetd:23 httpd:8080 ftpd:60721 rawd:24555:binkp quiet
fork uid:bbs
bbs 7971 0.0 0.1 20692 3960 pts/3 Sl+ 23:08 0:01
./bbbs 2 2 TCPIP
bbs 7984 0.1 0.1 20740 4024 pts/1 Sl+ 23:09 0:01
./bbbs 1 1 /dev/ttyD0 uid:bbs
Next time.. Everything's a file
FIDONEWS Vol 28 No 43 Page 5 October 24 2011
-----------------------------------------------------------------
--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
|