### Linux
+ #### : /, /, /
+ **echo : **
+ **touch : **
+ **cp : **
+ **mv : **
+ **mkdir (-p) : (-p ) **
+ **rm : **
+ -r : /
+ -f : ,
+ rm -rf * : ******
+ rm -rf / : ******
+ #### :
+ **tar : , ,**
+ `tar -cvf .tar file1 file2 file...` : .tar
+ `tar -tvf .tar` : .tar
+ `tar -xvf .tar` : .tar
+ **gzip : .gz , **, tar ,tar ()
+ `gzip .tar` : **** tar
+ `tar -zcvf .tar.gz file1 file2 ...` : ****
+ `gzip -d .tar.gz gunzip .tar.gz` : ** tar **
+ `tar -zxvf .tar.gz` : **tar**
+ **bzip2 : .bz **
+ `bzip2 -k .tar` : ****, .tar.bz2
+ `bzip2 -d .tar.bz2 bunzip2 .tar.bz2` :****
+ **zip : .zip ,**,windows
+ `zip -r [] []` : ****, -r
+ `unzip ` : ****
+ **xz : .xz , tar **
+ `xz -z .tar` : ****
+ `tar -Jcf .tar.xz file1 file2 ...` : ****
+ `xz -d .tar.xz` : ****
+ `tar -Jxf .tar.xz` : ****
+ ####
+ `ls -a` `ll -a`
```
drwx------. 15 angleliuliu angleliuliu 4096 9 4 09:12 .
drwxr-xr-x. 3 root root 25 9 3 15:28 ..
-rw-------. 1 angleliuliu angleliuliu 358 9 3 20:04 .bash_history
-rw-r--r--. 1 angleliuliu angleliuliu 18 10 31 2018 .bash_logout
--. 15 angleliuliu angleliuliu 4096 9 3 17:31 .cache
drwxr-xr-x. 14 angleliuliu angleliuliu 261 9 3 17:26 .config
drwx------. 3 angleliuliu angleliuliu 25 9 3 15:32 .dbus
-rw-------. 1 angleliuliu angleliuliu 16 9 3 15:32 .esd_auth
drwx------. 3 angleliuliu angleliuliu 19 9 3 15:32 .local
drwxr-xr-x. 4 angleliuliu angleliuliu 39 9 3 15:15 .mozilla
```
+ d / - / l :
+ \- :
+ d :
+ l :
+ **rw- / rwx** :
+ r :
+ w :
+ x :
+ **r-- / r-x** :
+ **r-- / r-x** :
+ 15 / 3 / 1 : ; 1,
+ angleliuliu / root :
+ 4096 / 25 : ; ""
+ 9 / 10 :
+ .config / .local :
+ ****, ()
| r | w | x |
:---: | :---: | :---: | :---: | :---:
| 1 | 0 | 0 | 4
| 0 | 1 | 0 | 2
| 0 | 0 | 1 | 1
| 1 | 1 | 0 | 6
| 1 | 1 | 1 | 7
```
chmod 744 test.txt
#
# 7 = 4 + 2 + 1 == r + w + x : user
# 4 == r : group
# 4 == r : other
```
+ #### (Linux/Unix root ,)
1. **useradd** : root
+ : `Usage:useradd -D [options]`
2. **userdel** : root
+ : `Usage:userdel [options] LOGIN`
+ -r, --remove : home
3. **passwd** :
+ : `Usage:passwd [OPTION...]`
+ -d, --delete : root
+ -l, --lock : root
+ -u, --unlock : root
+ -e, --expire : root
+ #### (, windows )
1. **free** :
+ free :
+ free -h : ,
2. **df** :
+ df :
+ df -h : ,
3. **top : **
4. **ps** : ,
+ a :
+ x :
+ **u uid / username** : id
```
ps u 18600
"""
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
angleli+ 18600 0.0 0.1 317964 3520 ? Sl 09:13 0:00 /usr/libexec/gvfsd-me
"""
```
+ f : ,
+ e :
+ ps aux | sort -rnk 4 :
+ ps aux | sort -nk 3 : CPU
+ ps -aux | grep python : python
+ USER :
+ PID : ID (Process ID)
+ %CPU : CPU
+ %MEM :
+ VSZ : (Virtual Size)
+ RSS : , Kbytes
+ TTY : (tty)
+ STAT : ( STAT )
+ TIME : CPU
+ COMMAND :
5. **kill** :
+ kill id :
+ kill -9 id :
+ ####
+ Ubuntu apt-get
1. **rpm** : RPM .( GPL )
+ rpm -ivh xxx.rpm : rpm
+ rpm -e xxx : rpm
+ rpm -qa :
3. **yum** : Fedora RedHat SUSE rpm , RPM
RPM , ,,
1.
+ `yum install` :
+ `yum install package1` : package1
+ `yum groupinstall group1` : group1
2.
+ `yum update` :
+ `yum update package1` : package1
+ `yum check-update` :
+ yum upgrade package1 : package1
+ yum groupupdate group1 : group1
3.
+ `yum info package1` : package1
+ `yum list` :
+ `yum list package1` : package1
+ yum groupinfo group1 : group1 yum search string string
+ yum search :
4.
+ `yum remove ` :
+ yum groupremove group1 : group1
+ yum deplist package1 : package1
5.
+ `yum clean packages` :
+ yum clean headers : headers
+ yum clean oldheaders : headers
### vim
+ ####
1. **more **
+ more file :
+ more +n file : n file
+ more +/string file : string
+
+ :
+ :
+ b : back
+ q : quit
+ = :
+ :f :
2. **cat **
+ cat file :
+ cat -n file :
+ cat file1 file2 > file :
+ tac filename :
3. **head , 10 **
+ head -n 100 file : file 100
+ head -n -100 file : file 100
4. **tail , 10 **
+ tail -100 file : 100
+ tail -n +100 file : 100 file
+ tail -100f file : 100 ,
5. **less more **
+ less file : file
+ less -N file : file
+ less -m file : file
+
+ f :
+ b :
+ j | :
+ k :
+ G :
+ g :
+ /string : string, n,N
+ ?string : string, n,N
+ q :
6. **sort ,**
+ sort :
+ sort -r :
+ sort -u :
+ sort -n :
7. **sed **
+ sed -n "/string/p" :
+ sed -n "1,5p" : 1~5
+ sed -n "3,5{=;p}" : 3~5 ,
+ sed -n "10p" : 10
+ #### Vim : vi , vim `yum install -y vim`
+ vim
+
1. **Command mode (\\)** : : /
2. **Insert mode (\)** : a ESC
3. **Last Line mode (\\)** : ESC Enter
+
1.
|
:---: | :---:
**x** | , delete ()
**X** | , backspace
**dd** | ()
ndd | n , n
yy | ()
nyy | n , n
p |
P |
u |
2.
|
:---: | :---:
**a** |
A |
**i** |
I |
**o** |
O |
3. ()
|
:---: | :---:
**:w** |
:w! |
**:q** |
:q! |
**:wq** |
:wq! |
###
+ #### ,
+ #### cpu ,
+ #### 1:N :
+ #### yield, **gevent**
````
import time
#
def func1(num):
while True:
print(f"{num}")
time.sleep(1)
yield
def func2(num):
while True:
print(f"{num}")
time.sleep(1)
yield
if __name__ == '__main__':
num = 0
while True:
next(func1(num))
next(func2(num))
num += 1
# gevent
import time
import gevent
def task(n):
for i in range(n):
print(gevent.getcurrent().name, i)
gevent.sleep(1)
if __name__ == '__main__':
#
g1 = gevent.spawn(task, 5)
g2 = gevent.spawn(task, 10)
#
# g1.join()
# g2.join()
gevent.joinall([g1, g2])
````
### Centos 7 ( ip )
+ #### (IP)IP
+ #### /etc/sysconfig/network-scripts/ifcfg-
+ #### bak
```
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="434fc2b9-dd08-456f-8a5c-4a266201371a"
DEVICE="ens33"
# IP dhcp IP
# BOOTPROTO=dhcp
# IP
BOOTPROTO="static"
# IP
IPADDR=192.168.0.100
#
NETMASK=255.255.255.0
# DNS
DNS1=114.114.114.114
DNS2=8.8.8.8
#
GATEWAY=192.168.0.2
```
+ ####
+ : `systemctl restart network.service`
+ #### ()
+ `systemctl start ` :
+ `systemctl restart ` :
+ `systemctl stop ` :
+ `systemctl status ` :
````
systemctl status network #
systemctl stop network #
````
###
1. #### atd (, )
1. atd ()
```
systemctl status atd
```
2.
+ `at `
+ :
+ min :
+ day :
+ 12:30 2020-09-10
+ at now+1min :
+ ctrl + d :
+ ctrl + c :
+ at -l :
+ atrm id :
2. #### **** (crontab )
1. ,
2. : `systemctl status crond`
3. , vim
+
````
crontab -u root -e
# -u :
# -e :
# -l :
# -r : ()
````
+
```
* * * * *
0-59 0-23 0-12 0-7 0 7
```
+ \* :
+ \- :
+ \/ :
+ \, :
4.
+ , ----
+ : /var/spool/mail
5.
````
crontab -u root -e
# 8:00 1.py
0 8 * * * python 1.py
# 10:05 1.py
5 10 1 5 * python 1.py
# 1 5 1.py
0 1,5 * * * python 1.py
# 3,4,5 1.py
60/5 3-5 * * * python 1.py
# 10 1.py
0 10 * * 1 python 1.py
````
### ssh :
+ ##### ssh
+ SSH****
+ SSH..
+ sshsshd,,.
+ #### ssh (ssh sshd slogin sftp FTP)
1. sshd
```
systemctl status sshd
setenforce 0
```
2. windows (Mac ssh @IP )
1. Windows 10 powershell ssh `ssh @IP `
2. Windows 10 Git Bash `ssh @IP `
3. Windows 10 Termius
+ #### ssh (Termius , )
1. ( : `C:\Users\\.ssh\id_rsa` : `C:\Users\\.ssh\id_rsa.pub`)
```
ssh-keygen -t rsa
```
2.
```
ssh-copy-id @IP
ssh -i @IP
```
+ #### scp
1.
```
scp @IP :/
```
2.
```
scp @IP :
```
3. `scp -r`
###
+ ****:
```
ln
```
+ ****
+ ****
+ ****
+ **: -s**
```
ln -s
```
+ ****
+ ****
+ ,, []