More on CLI
about me
- Peter
- fb.me/petercheng.tech
why need permissions?
Users & groups
users
show users currently logged
similar to: who
groups [OPTION]... [USERNAME]..
e.g.
peter : peter adm cdrom sudo plugdev lpadmin
id
e.g.
uid=1000(peter) gid=1000(peter) groups=1000(peter),4(adm),24(cdrom),
27(sudo),30(dip),46(plugdev)
Permissions
(755)?
ls -l
e.g.
total 112
-rw-r--r-- 1 peter peter 33858 Oct 1 03:41 a.png
drwxr-xr-x 3 peter peter 4096 Nov 18 21:31 Desktop
drwxr-xr-x 2 peter peter 4096 Jul 25 07:59 Documents
drwxr-xr-x 4 peter peter 4096 Nov 20 14:49 Downloads
source: 鳥哥
source: 鳥哥
what is 755?
interpret file permission as binary
r: 4
w: 2
x: 1
rwx: 7
r-x: 5
==> -rwxr-xr-x: 755
$ chmod
change permissions?
e.g.
chmod -x file
chmod -R 777 file
chmod 644 file
chmod +w file
$ chown [-R] <user>:<group> file
change file owner
e.g.
chown peter file
chown peter:admin file
Sudo
what if we need more then our privilege?
use sudo
sudo + command
Links
soft link v.s. hard link
source:
https://askubuntu.com/questions/108771/what-is-the-difference-between-a-hard-link-and-a-symbolic-link
make links
$ ln [-s] origin-file link-file
e.g.
ln myfile hard-link
ln -s myfile soft-link
monitor your server
ps
not photoshop
list process
$ ps [option]
e.g.
ps -a
ps -au
ps -aux
what if i see strange process
kill it!!
[just kidding]
kill command
$ kill -<signal> process-id
kill -TERM webserver
kill -9 myprogram
usefull software
htop
multiple screen
tab?
tmux
automation?
no no
just shell script
shell
a shell command interpreter
Variable
only string t
- show environment variables
$ env
- show one variable
$ echo $myvar
- assign variable
$ myvar=var1
simplest idea
- collect the command you always use
- write them into one file
- execute it
io redirection
pipe
redirect the io
- cat <( ls -l ) #redirect input
- ls -l | cat #redirect output
iterate through args
- xargs
- ls | xargs -n1 <cmd>
usefull software
- crontab
Makefile
- make
- write Makefile
- automate build process
- check dependency for you
Q&A
More on CLI
By Peter Cheng
More on CLI
- 835