前言,雖然工作中經常使用到linux到很少整理過使用到的命令,這裏加深印象就整理一下
一.文件處理
linux系統中一切都爲文件,先看看關於文件的
1.ls
ll 或 ls -l 下面各列所表示的含義 其他可選參數 -a 顯示所有文件,包含隱藏文件 -d 查看目錄屬性 -h 人性化 -i 顯示inode
-rw-r--r--. 1 root root 291385040 Feb 7 18:59 my.log
- | rw- | r-- | r-- | . | 1 | root | root | 291385040 | Feb 7 18:59 | my.log |
文件類型 -文件 d目錄 l軟連接 塊設備文件等... |
所有者用戶權限 r 度 4 w 寫 2 x 執行 1 |
組權限 | 其他組用戶權限 | ACL權限 | 引用個數 | 擁有者 | 所在組 | 文件大小 | 修改日期 | 文件名 |
2.建立目錄
mkdir -p aa/bb遞歸創建
3.切換目錄
cd ./表示當前目錄 ../上級目錄 - 返回上次的目錄 ~當前用戶的家目錄
4.顯示當前目錄
pwd
5.刪除目錄
rmdir 只能刪除空目錄 rm -rf 遞歸強制刪除 慎用 特別是rm -rf /
6.拷貝
cp 源文件 目標文件或目錄 -r 複製目錄 默認日期屬性會變換 -a 文件屬性保持不變
7. 剪切或改名
mv 源文件 目標文件
8.常見目錄作用
boot 系統掛載目錄
9.鏈接命令
軟鏈接 硬鏈接 硬鏈接文件引用計數會增加 inode節點一樣
ln 源文件 目標文件 創建硬鏈接 不能操作文件夾
ln -s 源文件 目標文件 創建軟鏈接
二、文件搜索命令
1.locate命令
locate 文件名 這個是基於數據庫搜索的,但這個命令不一定有,需手動安裝sudo yum install mlocate
sudo updatedb 初始化數據庫
可自定義建立數據庫搜索規則 /etc/updatedb.conf
2.whereis命令
搜索系統命令的可執行的位置 which與whereis ,which看到命令的別名 ,linux命令是在PATH中搜索
3.find命令
find [搜索範圍] [搜索條件]
linux中的通配符 *匹配任意內容 ?匹配任意一個字符 [] 匹配任意一箇中括號內對的字符
4.grep命令
在文件中搜索字符串
三、幫助命令
1.man 命令
2.命令本身 --help
3.help shell內部命令
4.info命令 巨大的幫助文檔
四、壓縮命令
zip 將生成的壓縮文件名 源文件或問價夾 -r 壓縮文件夾 unzip 解壓 .zip
gzip 默認不保留源文件 ,不能壓縮目錄 .gz
bzip2 默認不保留源文件 ,不能壓縮目錄 .bz2
tar 打包 tar -cvf c 表示打包 v顯示過程 f 文件名 x爲解包 z爲gz格式 j爲bz2格式 -C指定解壓目錄
五、關機與重啓命令
重啓 reboot ,init 6 對於init可以用runlevel查看當前init的level 配置文件/etc/inittab,不過現在不用了
inittab is no longer used when using systemd
關機 init 0,powerof ,halt
重啓與關機 shutdown -r now 重啓 shutdown -c 取消上次關機 -h 關機 推薦的關機重啓方式
退出登入 logout
六、掛載命令
掛載命令 mount 相關配置文件/etc/fstab mount -a 將這個文件中的配置都自動掛載 -t指定文件格式
取消掛載 umout 加設備名或掛載點
七、查看用戶登入信息
w 查看所用用戶登入情況,包括cup佔用情況等
who 簡要查看所有用戶登入情況
last 所有用戶記錄
lastlog 所有用戶最後一次登入記錄
八、其他常用命令
ps -ef | grep xxxx| grep -v grep | awk '{print $2}' | xargs kill -9 殺掉某些進程
uname -a 查看系統和發行版本
cat /proc/version 查看系統和發行版本
cat /etc/os-release 查看系統和發行版本
rpm -q centos-release (centos 用) 常看以安裝軟件的版本
make 手動編譯
make install 手動安裝
curl 測試訪問的服務 例如
curl http://10.150.29.175:8322/team-data/followed -X POST -H "Content-type: application/json" -d '["222129130","222129131"]'
netstat -tnulp | grep xxx和ps aux | grep XXX 查看端口的使用情況
df -lh 查看磁盤使用情況
du -sh /xxx/xx 查看某個文件夾或文件的大小
free -h 查看內存使用情況
cat /etc/passwd 常看所有的用戶和組 依次爲 用戶名:密碼:用戶id:組id:備註:用戶家目錄 shell命令所在的目錄
查找文件命令 find which whereis
top 查看進程內存使用情況
ps -ef | grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9 批量殺死xxx相關的進程
解釋一下ps -ef 之後各列表示的含義
列一 進程用戶id root
列二 進程id 12134
列三 父進程id 10651
列四 cpu調用情況,CPU用於計算執行優先級的因子 0
列五 進程的啓動時間 09:56
列六 啓動進程的終端名 pts/2
列七 進程共佔用CPU的時間(TIME) 00:00:00
列八 啓動進程的命令 grep --color=auto mongo
新建文件夾 多級 mkdir -p aaa/bbb/ccc
nohup java -jar app_data-0.0.1-SNAPSHOT.jar & nohup 即終端關閉也繼續執行,&終端不變的情況下後臺運行,
查看端口使用情況 netstat -tunlp |grep 8000
- -t (tcp) 僅顯示tcp相關選項
- -u (udp)僅顯示udp相關選項
- -n 拒絕顯示別名,能顯示數字的全部轉化爲數字
- -l 僅列出在Listen(監聽)的服務狀態
- -p 顯示建立相關鏈接的程序名