一、Shell基礎命令
1、ls命令:用於列出當前目錄下的文件和子目錄。常用選項有-l(用長格式顯示文件信息)、-a(顯示隱藏文件)、-t(按時間排序)、-r(倒序顯示)、-h(以易讀格式顯示大小)等。
$ ls -l -rw-r--r-- 1 root root 2345 Dec 15 09:45 example.txt
2、cd命令:用於切換當前工作目錄。可用絕對路徑或相對路徑(.表示當前目錄,..表示上級目錄)。
$ cd /home/user/example/
3、mkdir命令:用於新建目錄。
$ mkdir newdir
4、rm命令:用於刪除文件或目錄。常用選項有-r(遞歸刪除目錄)和-f(強制刪除)。
$ rm example.txt
5、cp命令:用於複製文件或目錄。常用選項有-r(遞歸複製目錄)和-p(保留文件屬性)。
$ cp example.txt newdir/
二、Shell進階命令
1、grep命令:用於在文件中查找指定字符串,可以用通配符或正則表達式匹配。常用選項有-r(遞歸查找目錄)、-i(不區分大小寫)。
$ grep "example" example.txt
2、find命令:用於在指定目錄下查找文件或目錄,可以用多個限制條件。常用選項有-name(按名稱查找)、-type(按類型查找)、-mtime(按修改時間查找)。
$ find /home/user/ -name "*.txt"
3、sed命令:用於在文件中替換指定字符串,可以用正則表達式匹配。常用選項有-i(直接修改文件)、-e(多個替換規則)。
$ sed -i 's/example/new/g' example.txt
4、awk命令:用於對文本進行處理和分析,支持多種操作。常用操作有print(打印指定列)、if(判斷條件)、sum(計算總和)。
$ awk '{if($1=="example") print $2}' example.txt
三、Shell個性化配置
1、環境變量:可以設置常用的路徑、別名等。將以下內容添加到.bashrc文件中即可。
export PATH=/usr/local/bin:$PATH alias ll='ls -l'
2、自定義命令:可以將常用的命令封裝成腳本或函數,方便調用。例如下面的腳本用於統計當前目錄下所有文件的大小。
#!/bin/bash total=0 for file in * do if [ -f "$file" ] then size=$(du -b "$file" | awk '{print $1}') total=$((total+size)) fi done echo "Total size: $total bytes."
3、Shell顏色:可以將命令輸出的文本設置為不同的顏色以區分不同類型的信息。將以下內容添加到.bashrc文件中即可。
export PS1="\[\033[01;32m\][\u@\h:\w]\$\[\033[00m\] "
四、Shell實用工具
1、tmux:用於在終端中創建多個窗口或分屏,可在不同窗口或面板中同時執行多個命令。
$ tmux new -s session_name
2、screen:與tmux類似,在單個終端窗口中運行多個程序和命令。
$ screen -S session_name
3、rsync:用於同步本地或遠程文件,可以增量同步,減少傳輸數據量。
$ rsync -avz source_dir/ remote_user@remote_host:dest_dir/
4、ssh:用於遠程登錄其他主機或執行遠程命令。
$ ssh remote_user@remote_host $ ssh remote_user@remote_host "ls -l"
五、Shell腳本編程
可以使用Shell腳本編寫自動化腳本,提高工作效率。下面是一個簡單的例子,用於自動備份指定目錄的文件。
#!/bin/bash src_dir=/home/user/example/ backup_dir=/mnt/backup/ backup_file=example_$(date +"%Y%m%d").tar.gz tar -czvf $backup_dir$backup_file $src_dir
以上是Linux Shell的基礎和進階命令、個性化配置、實用工具和腳本編程等方面的介紹。掌握這些技巧和工具,能夠在命令行中高效地進行各種操作,提高工作效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190725.html