linux 常用命令
### linux 常用命令
1. 切換目錄:cd [目錄]
2. 查看當前目錄文件:ls -a[查看所有文件包括隱藏]/-l[查看文件顯示權限和所屬]
3. 查看當前所在路徑: pwd
4. 復制文件或者文件夾:cp [filename/-r folder]
5. 遠程復制文件或者文件夾:
- 復制本地到遠程: scp [-r] local_path username@ip:path
- 復制遠程到本地: scp [-r] username@ip:path local_path
6. 移動或重命名文件或文件夾: mv [file/folder]
7. 創建文件夾: mkdir [folder_name];
8. 變更文件或文件夾權限:chmod [-R:遍歷文件夾下所有文件] [權限] [file/folder]
- 解釋: 例如權限為777 代表 user/group/other 的權限為 4+2+1/4+2+1/4+2+1,
4代表read讀權限, 2代表寫權限, 1代表執行權限
- drwxr--r--中的第一位: d代表文件夾,s代表socket文件,-代表普通文件,l代表軟鏈
9. 變更文件所屬用戶或用戶組: chown owner:group [file/folder]
10. 新建文件:
- touch [filename]
- vi/vim [filename]
11. 查看文件:
- 輸出文件內容:cat [filename]
- tail [-f:實時輸出文件內容] [filename]
- less
12. 查找內容:
- grep [正則]
- awk
13. 建立軟鏈: ln -s [realpath/filename] [realpath]
14. 查看包含所有用戶的進程:ps -aux
15. 查看端口: netstat -anp
- a代表:顯示所有,默認不顯示LISTEN的
- n代表:不顯示數字別名
- p代表:顯示關聯的程序
16. 壓縮
- 解壓縮:tar -zxvf [filename]
- 壓縮:tar -zcvf [filename]
17. 查看當前命令所在的路徑: which
18. 查看當前用戶
- who
- whoami
19. 查看當前系統運行多長時間:uptime
20. 可讀性好的查看磁盤空間:df -h
21. 可讀性好的查看文件空間:du -f --max-depth=[遍歷文件夾的深度] [file/folder]
22. debian添加軟件源:apt-add-repository [源]
23. 查找文件:
- find [path] -name? [filename]
- find [path] -user? [owername]
- find [path] -group [groupname]
24. 刪除文件或者文件夾: rm [-r] [file/folder]
25. 進程:
- 殺掉進程:kill [pid]
- 查看進程
* 查看:ps -aux
* 查看父進程ID(ppid):ps -ef
26. 關機/重啟
- 關機:shutdown -h now
- 關機: init 0
- 關機: halt
- 關機: poweroff
- 重啟: shutdown -r now reboot
27. 我的常用tmux系列命令
```
新建一個會話:
tmux new -s <會話名稱>
切到一個會話:
tmux at? -t <會話名稱>
刪除一個會話:
tmux kill-session -t <會話名稱>
獲取會話列表:
tmux list
臨時切換一個窗口到最大或最小:
prefix z
推出tmux但是保存會話:
prefix d
創建一個窗口:
prefix c
垂直拆分一個窗口:
prefix %
水平拆分一個窗口:
prefix "
```
28. logrotate
增加配置/etc/logrotate.d:
nginx示例文件
```
/var/log/nginx/*.log {
# 打包日志頻率 daily:每天 weekly:每周 monthly:每月
daily
# 打包文件添加日期后綴
dateext
# 找不到日志也ok
missingok
# 保存14份日志
rotate 14
# 壓縮日志 默認gzip
compress
# 延時壓縮到下次rotate
delaycompress
# 忽略空日志
notifempty
# ?
create 0640 www-data adm
# 執行完所有rotate再執行腳本
sharedscripts
# ?
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
# ?
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
```
#### 強制執行:
logrotate -f /etc/logrotate.d/nginx
#### 附錄:shell 判斷文件
```
-e 文件名?? ?如果文件存在則為真
-d 文件名?? ?如果文件存在且為目錄則為真
```
29. supervisor
#### 安裝 debian:
sudo apt-get install supervisor
#### 增加配置文件:
cd /etc/supervisor/conf.d
#### 配置文件示例:
```
[program:demo]
# ?
directory = yourpath
# 啟動進程的命令
command = yourcommand
# 啟動supervisor時啟動
autostart = true
# 進程exit自動重啟
autorestart = true
# 執行命令的用戶
user = www-data
# 日志路徑
stdout_logfile = /var/log/supervisor/demo.log
# 這個no意思是啟動例如nginx或者php-fpm時,由supervior接管守護
daemonize = no
```
#### 啟動或重啟supervisor
sudo service supervisor start
sudo service supervisor restart
#### 啟動我們的進程
sudo supervisorctl start demo
28. 查找文件位置
whereis 文件名
Linux 任務調度
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。