Unix Trix
"Unix is very simple, but it takes a genius to understand the simplicity."
(Dennis Ritchie)
Linux Trix
Booting
Scroll through the resolutions in case your monitor is blank on boot:
control-alt-f1 (actually this chooses virtual terminals 1-6 are text 7 is X)
control-alt + and - (scrolls through the resolutions)
alt arrow keys might work too
alt-SysRq-s (a safe restart when locked up) - sync disk
alt-SysRq-u (a safe restart when locked up) - remount read only
alt-SysRq-b (a safe restart when locked up) - reboot
Make subdirectories readable via the Internet
chmod -R a+rx ISERWebs
Copy only changed files from external disk to current subdirectory
rsync -av /media/Venus280Gig/ISERWebs ./
Mount and Umount
mount
mount -t usbfs /dev/usbdev2.1_ep8
unmount a volume:
umount /media/Venus280Gig
umount /dev/sda1
Install rsync without the Synaptic Installer
apt-get install
rsync
use the cool Web editor (quanta)
quanta ./filename.ext
check on the use of the wusage port
lsof |grep 2396
default folder for Apache applications
cd /var/www
Kill Apache -- example of how to use the pkill command
pkill apache
More Netstatus stuff
netstat -s -t -a -p
Shutdown and halt the hardware to power off:
shutdown -hp
Startup folder for firewall scripts written in with a shell:
/etc/rc2.d
IPTABLES COMMANDS:
iptables -L
OpenBSD Tricks:
Aliases to paste into your bashrc
mf ="mount -t msdos /dev/fd0Ba /floppy" # This will mount a
MSDOS formatted diskette
mcd="mount /dev/cd0a /cdrom" # Mount
CDROM Drive
musb="mount /dev/sd0i /thumb
netstat -I sis0 -w 5
netstat -I bce0 -w 5
(sis0 - netgear. & bce0 are network adapter interfaces)
This gives the network I/O status of a netgear card interface (-I) (sis0) every
5 seconds (-w)
ps -aux
(Process Started listing)
Setup tricks
etc/sysctrl.conf file
make sure the ddb.panic = 0 # Set a machine's default
to reboot after a kernel panic
net.inet.ip.forwarding =1 # set ip forwarding on for bridging and packet filtering
/etc/rc.conf.local - Turn on the Packet Filter program if you have set
it up
pf = yes
stopping pf
pfctl -d
starting pf
pfctl -e
starting pf with configuration file
pfctl -f /etc/pf.conf
More PF commands
# pfctl -f /etc/pf.conf Load the pf.conf file
# pfctl -nf /etc/pf.conf Parse the file, but don't load it
# pfctl -Nf /etc/pf.conf Load only the NAT rules from the file
# pfctl -Rf /etc/pf.conf Load only the filter rules from the file
# pfctl -sn Show the current NAT rules
# pfctl -sr Show the current filter rules
# pfctl -ss Show the current state table
# pfctl -si Show filter stats and counters
# pfctl -sa Show EVERYTHING it can show
Mount a floppy disk
mkdir /floppy #The first time you mount a floppy
disk you need to create a mount point:
ls /dev/fd* # to find a floppy
device
mount -t msdos /dev/fd0Ba /floppy #
This will mount a MSDOS formatted diskette
cd /floppy # Change into the
floppy directory
cd / #
Change to the root directory so the diskette can be unmounted
umount /floppy #
unmount the floppy diskette
tar -zxvf bash*.tgz /
will untar a comppressed tarball into the current directory
Mount a CD-ROM (at /cdrom mount point)
after creating the a mount point (i.e.mkdir /cdrom)
mount /dev/cd0a /cdrom
Disk Usage
df usage of major partitions
df -h # - h makes it human readable
du -s size of current directory
ls -la full info. file listing incl. hidden files
ls -laF full info. file listing incl. hidden files & file types
#where @ is link, * executable, / is directory
ls -ld full info. directory listing
ls -laF | sort | grep "/" #list all directories
ls -laF | sort | grep "*" #list all executables
Data and File tricks
sed 's/^0/string/g' file-in.txt>file-out.txt
globally replaces zero at the beggining of the line with string and
write the output to file-out.txt - don't forget the quotation marks.
find ./ -type f | xargs grep -l 'http://AlaskaEconomy.uaa.alaska.edu' \
| xargs sed -a '' -e 's/http://AlaskaEconomy.uaa.alaska.edu/Living Conditions/g'
4.41. How do I make substitutions in every file in a directory, or in a complete
directory tree?
4.41.1. - ssed and Perl solution
The best solution for multiple files in a single directory is to use ssed or gsed v4.0 or higher:
sed -i.BAK 's|foo|bar|g' files # -i does in-place replacement
If you don't have ssed, there is a similar solution in Perl. (Yes, we know this is a FAQ file for sed, not perl, but perl is more common than ssed for many users.)
perl -pi.bak -e 's|foo|bar|g' files # or
perl -pi.bak -e 's|foo|bar|g' `find /pathname -name "filespec"`
For each file in the filelist, sed (or Perl) renames the source file to "filename.bak"; the modified file gets the original filename. Remove '.bak' if you don't need backup copies. (Note the use of "s|||" instead of "s///" here, and in the scripts below. The vertical bars in the 's' command let you replace '/some/path' with '/another/path', accommodating slashes in the LHS and RHS.)
To recurse directories in Unix or GNU/Linux:
# We use xargs to prevent passing too many filenames to sed, but
# this command will fail if filenames contain spaces or newlines.
find /my/path -name '*.ht' -print | xargs sed -i.BAK 's|foo|bar|g'
More sed tricks
Perl global string/file replace
$ perl -pi -e 's/string1/string2/g' *
Getting rid of those pesky ^Ms that windows notepad leaves:
replace the ^M with tr
tr -d "\015" < dosformatted.txt > unixformatted.txt
Globally replace text in many files in place
find -name Root | xargs perl -pi -e 's/Old Text/New Text /g'
Just in case you need the ascii code here is an ASCII Table for you
$ find / \! -name '*.c' -print
Print out a list of all the files whose names do not end in ``.c''.
$ find / \! \( -newer ttt -user wnj \) -print
!Print out a list of all the files which are not both newer than``ttt'' and
owned by ``wnj''.
$ find / \( -newer ttt -or -user wnj \) -print
!Print out a list of all the files that are either owned by ``wnj'' or newer
than ``ttt''.
$ find / \! -fstype local -prune -or -name '*.core' -print
!Print out a list of all core files on local file systems.
dd if=floppy34.fs of=/dev/rfd0c bs=32k
!Write an OpenBSD floppy image to a floppy disk.
eject /dev/rcd0c
Eject the first CD device. This will work even if there is no CD in the drive.
Here is a handy backup routine to copy only files that have changed since the last backup:
#!/bin/csh
rsync -r -u -v /Stuff/* /Volumes/Backup/Stuff
rsync -r -u -v /Users/WhatsYourFace/* /Volumes/Backup/WhatsYourFace
RED HAT TRICKS
cat /proc/cpuinfo #for CPU information
cat /proc/meminfo # for memeory information
cat > filename.txt # then type or paste info to capture text and end with
contol-d
tar -xvf tarfile.tar # unpack most archives
mkdir /cdrom # makes a directory to mount cdroms
mount /dev/cdrom /cdrom #mounts a cdrom in the /cdrom directory created in the
last line
ps –A notice the capital “-A” for all processes
stty rows 46 cols 100
Start Xwindows with:
xstart
find ./ -name filename
example:
cd ~ [go to home directory
find ./ -name lost.file*
ls –laF
Sort a directory via a pipe:
ls -l | sort -n +1
Explained:
ls = list directory -l = use long format
| = pipe output into the next command
sort -n +1 = sort using -n (numbers as opposed to letters) on the +1 (second
field)
while in the sbin directory you can add users with the following:
./adduser –c “ftp guest” -d /home/iserguest -p secretpassword
Password change - Go to Single User Mode via hard boot (turn off computer or
reset it)
Go to the boot prompt and type: linux single
Conversion tricks
EOL characters:
DOS: CR/LF
Macintosh: CR
Unix: LF
Return to Jim's Trix Page
Return to Jim's ISER Page
Return to Profiles or Directory Page
or ISER Home Page
Last updated April 2, 2007