Linux Commands 1
1. Navigation
pwd
ls /usr
cd /usr
ls -l
pwd
cd ..
ls
cd bin
ls b*
ls -l bzless
file bzless
ls -l bzmore
file bzmore
less bzmore
nano bzmore
ls -l bash
ls -lh bash
file bash
less bash
file /etc
ls -l /etc/passwd
file /etc/passwd
less /etc/passwd
2. Manipulating files and directories
mkdir test1
ls
cd test1/
mkdir dir1 dir2
ls -l
cp /etc/passwd .
ls -l
cp -v /etc/passwd .
cp -i /etc/passwd .
mv passwd fun
ls -l
mv fun dir1
ls -l
ls -l dir1
mv dir1/fun dir2
ls -l dir1
ls -l dir2
mv dir2/fun .
tree
mv fun dir1
tree
ls -l dir2/dir1
mv dir2/dir1 .
mv dir1/fun .
tree
# hard links
ln fun fun-hard
ln fun dir1/fun-hard
ln fun dir2/fun-hard
ls -lR
ls -lRi
# symbolic links
ln -s fun fun-sym
ls -l
ln -s ../fun dir1/fun-sym
ln -s ../fun dir2/fun-sym
tree
ln -sf /home/user1/test1/fun dir1/fun-sym
ls -l dir1/
ln -s dir1 dir1-sym
ls -l
rm fun-hard
ls -l
rm -i fun
ls -l
less fun-sym
rm fun-sym dir1-sym
ls -l
rm -r dir1/
cd ..
rm -rf test1
3. Ownership and permissions
touch foo.txt
ls -l foo.txt
chmod 600 foo.txt
ls -l foo.txt
chmod u+x foo.txt
ls -l foo.txt
chmod u-x foo.txt
ls -l foo.txt
chmod u+x,go=rx foo.txt
ls -l foo.txt
chmod ugo-x foo.txt
chmod a-x foo.txt
chmod -x foo.txt
ls -l foo.txt
4. Processes
ps
ps a
ps au
ps --help
ps --help simple
ps aux | less
ls -l /sbin/init
pstree
pstree -p | less
pstree -p user1
top
sleep 100
# Ctrl-c
sleep 100 &
ps
kill -9 PID
ps
sleep 100 &
sleep 200 &
sleep 300 &
ps
jobs
killall sleep
ps
jobs
5. Redirecting and pipelines
ls -l /usr/bin
ls -l /usr/bin > ls-output.txt
ls -l ls-output.txt
less ls-output.txt
# append
ls -lh ls-output.txt
ls -l /usr/bin >> ls-output.txt
ls -lh ls-output.txt
ls -l /usr/bin >> ls-output.txt
ls -lh ls-output.txt
ls -l /usr/bin >> ls-output.txt
ls -lh ls-output.txt
ls -l /bin/usr
ls -l /bin/usr &> ls-output.txt
ls -l /bin/usr &>> ls-output.txt
ls -l /bin/usr 2> /dev/null
# pipelines and filters
ls /bin /usr/bin
ls /bin /usr/bin | less
ls /bin /usr/bin | wc -l
ls /bin /usr/bin | sort | less
ls /bin /usr/bin | sort | uniq | less
ls /bin /usr/bin | sort | uniq | wc -l
ls /bin /usr/bin | sort | uniq -d | less
ls /bin /usr/bin | sort | uniq -d | wc -l
ls /bin /usr/bin | sort -u | grep zip
ls /bin /usr/bin | sort -u | grep zip | wc -l
ls /usr/bin > ls-output.txt
head ls-output.txt
tail ls-output.txt
tail ls-output.txt -n 5
tail -5 ls-output.txt
6. Shell expansions and quotes
echo this is a test
echo "this is a test"
echo {a,b} $(echo foo) $HOME $((2 + 2)) {1..5} ~/*.txt
echo "{a,b} $(echo foo) $HOME $((2 + 2)) {1..5} ~/*.txt"
echo '{a,b} $(echo foo) $HOME $((2 + 2)) {1..5} ~/*.txt'
echo $(cal)
echo "$(cal)"
echo '$(cal)'