---
# System prepended metadata

title: Linux常用指令

---

### Linux常用指令


#### 解壓縮
```
tar xzvf yasm-1.3.0.tar.gz
```

#### linux 版本
```
cat /etc/redhat-release
```
#### crontab
```
crontab -l 查看
crontab -e 編輯

f1   f2   f3   f4   f5   program
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
```
#### 查詢字串
```
grep -rnw '/path/to/somewhere/' -e 'pattern'

-r 代表 recursive，可以搜尋子目錄
-n 代表顯示行數
-w 代表搜尋完整的單字
-e 代表要搜尋的文字
```

#### 查看文件大小
```
ll -lh 以k為單位

指定單位
ll -l --block-size=g
ll -l --block-size=m
ll -l --block-size=k
```

#### 主機重開
```
yum update 更新

sync;sync;sync;reboot
```

#### iptables
```
設定檔位置
/etc/sysconfig/iptables

iptables -L -n
netstat -tunlp
```

#### ssh port
```
vi /etc/ssh/sshd_config
systemctl restart sshd

# 查看ssh key
cat /root/.ssh/authorized_keys
```

#### 新增帳密
```
adduser nh045
passwd nh045 

強制過期
passwd  -e nh045
```

#### 清空登陸log
```
echo “ “ > /var/log/secure
```

#### 修改主機名
```
hostnamectl set-hostname
```

#### 限定登入帳號 AllowUsers
```
AllowUsers nh009 nh038 nh045
```
#### 重啟網卡
```
systemctl restart NetworkManager
```

#### 網路孔亮燈
```
ethtool -p eno12409

ethtool --identify eno12409 30  亮30秒
```

#### Screen
```
screen -S test-Ali -d -m ffmpeg -re -analyzeduration 1000 -i rtmp://127.0.0.1:1935/cb/BTCB05m -c:v copy -c:a copy -f flv rtmp://push-wen-ali.videotests.com.mx/wen/demo

screen -r screen_name, 進screen
ctrl a 放掉a後d  離開screen

screen -S screen_name，新建screen，并指定名字
screen -d screen_name，detach正在使用的screen
screen -ls，列出所有screen的列表
screen -X -S screen_name quit，彻底杀死一个detach的screen

在screen裡

ctrl a ctrl a，最近使用的两个窗口之间切换
ctrl a + 数字，切换到某个窗口
ctrl a + d，detach
ctrl a + k，关闭当前窗口
ctrl a + :，进入命令行模式
ctrl a a，screen的快捷键的prefix默认是ctrl+a，这与bash中的快捷键（ctrl+a，回到命令开头）冲突，在screen要先按ctrl + a，再按a就可以了，注意不要和窗口切换的快捷键弄混
ctrl a + [，进入复制模式，这个我用来翻屏
ctrl a + A，修改当前窗口的名称
```

#### 校時
```
之後有停機維護的時候，local server 因為有加timestamp 
所以每周需要手動校時之後再重啟srs 服務，這樣會比較正常 

chronyc -a makestep
```

#### 印出文件最後幾行內容
```
tail 文件名

# 循環讀取
tail -f  文件名
```


#### paping
```
paping -p 1935 [ip]
```

#### mtr
```
mtr [dest ip]
```

#### iperf3 測頻寬
```
iperf3 -c 118.107.44.184 -b 100M  --傳送

iperf3 -s   --接收

iperf3 -c 118.107.44.184 -b 100M -u  --使用UDP

iperf3 -c 118.107.44.184 -b 100M -R  --反向測速


接收開5201 port

先起接收 再傳送
```

#### speedtest 測速
```
 wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
 
 chmod 755 speedtest.py
 
 python3 speedtest.py
```

#### dig 查dns
```
dig push-mx-c.ylqcy.com
```

#### dns解析
```
/etc/resolv.conf 

nameserver 8.8.8.8
nameserver 168.95.1.1
```


#### iftop
```
iftop -i ens20f1
```

#### PHP
```
查看php版本
php -v
```

#### shc --sh加密
```
yum install -y shc
shc -r -f /home/nh045/test

-r：可在相同操作系統的不同主機上執行
-f：指定源shell
```

#### 查看系統資訊
```
查看memery
dmidecode -t 17 |grep Size

memery 總數量
free -g

查看cpu 型號
cat /proc/cpuinfo  |grep model |sort -u

Serial Number
dmidecode -t 1 |grep Serial

查看cpu實體數量
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l


查看cpu邏輯核心
cat /proc/cpuinfo | grep "processor" | wc -l


主機資訊
lshw |grep product |head -1
dmidecode -t system

硬碟資訊
先
smartctl --scan

smartctl -i /dev/bus/0 -d megaraid,0
```


#### Rocky Linux磁碟分割
```
swap       16G   (biosboot 2M)
/boot      2G
/boot/efi  200M
/          其他全部
```
