Passa al contenuto principale

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)'