一、基礎知識
1.1 Linux系統命令行的含義
示例:dev@DESKTOP-GD47KA1:~$
dev:用戶名,如果是root表示超級用戶
@:分隔符
DESKTOP-GD47KA1:主機名稱
~:當前所在目錄,默認用戶目錄為~,會随着目錄切換而變化
$:表示當前用戶是普通用戶,如果是#,表示當前是超級用戶
dev@DESKTOP-GD47KA1:/mnt$
表示用戶"dev"訪問/mnt目錄
1.2 Linux系統的文件結構
/bin 二進制文件,系統常規命令
/boot 系統啟動分區,系統啟動時讀取的文件/dev 設備文件/etc 大多數配置文件/home 普通用戶的家目錄/lib 32位函數庫/lib64 64位庫/media 手動臨時挂載點/mnt 手動臨時挂載點/opt 第三方軟件安裝位置/proc 進程信息及硬件信息/root 臨時設備的默認挂載點/sbin 系統管理命令/srv 數據/var 數據/sys 内核相關信息/tmp 臨時文件/usr 用戶相關設定
1.3 Linux系統命令的組成
示例:命令 參數名 參數值
二、基礎操作
2.1 立刻關機
(1) 立刻關機
shutdown -h now 或者 poweroff
(2) 兩分鐘後關機
shutdown -h 2
2.2 重啟系統
(1) 立刻重啟
shutdown -r now 或者 reboot
(2) 兩分鐘後重啟
shutdown -r 2
2.3 幫助命令(help)
ifconfig --help // 查看 ifconfig 命令的用法
2.4 命令說明書(man)
man shutdown // 打開命令說明後,可按"q"鍵退出
2.5 切換用戶
su dev // 切換為用戶"dev",輸入後回車需要輸入該用戶密碼exit // 退出當前用戶
三、目錄操作
3.1 切換目錄(cd)
cd / // 切換到根目錄
cd ../ // 切換到上一級目錄
cd ../xx/ // 切換到根目錄下的bin目錄
cd ~ // 切換到home目錄
cd - // 切換到上次訪問的目錄
cd xx // 切換到本目錄下名為xx的目錄,如果目錄不存在報錯
cd /xx/xx/x // 輸入完整的路徑直接切換到目标目錄,輸入過程中可以使用tab鍵快速補全
3.2 查看目錄(ls)
ls // 查看當前目錄下的所有目錄和文件ls -a // 查看當前目錄下所有目錄和文件(包括隐藏文件)ls -l // 列表查看當前目錄下的所有目錄和文件(列表查看,顯示更多信息),與命令"ll"效果一樣ls /bin // 查看指定目錄下的所有目錄和文件
3.3 創建目錄(mkdir)
mkdir tools // 在當前目錄下創建一個名為tools的目錄mkdir /bin/tools // 在指定目錄下創建一個名為tools的目錄
3.4 删除目錄與文件(rm)
rm 文件名 // 删除當前目錄下的文件rm -f 文件名 // 删除當前目錄的的文件(不詢問)rm -r 目錄名 // 遞歸删除當前目錄下此名的目錄rm -rf 目錄名 // 遞歸删除當前目錄下此名的目錄(不詢問)rm -rf * // 将當前目錄下的所有目錄和文件全部删除
3.5 修改目錄(mv)
mv 當前目錄名 新目錄名 // 修改目錄名,同樣适用文件操作mv /usr/tmp/tool /opt // 将/usr/tmp目錄下的tool目錄剪切到 /opt目錄下面mv -r /usr/tmp/tool /opt // 遞歸剪切目錄中所有文件 和文件夾
3.6 拷貝目錄(cp)
cp /usr/tmp/tool /opt // 将/usr/tmp目錄下的tool 目錄複制到/opt目錄下面cp -r /usr/tmp/tool /opt // 遞歸複制目錄中所有文件和文件夾
3.7 搜索目錄(cp)
find /bin -name 'a*' // 查找/bin目錄下所有以a開頭的文件或目錄
3.8 查看當前目錄(pwd)
pwd // 顯示當前位置路徑
四、文件操作
4.1 新建文件(touch)
touch 1.txt // 在當前目錄下創建名為1的txt文件,如果文件 存在,将時間屬性修改為當前系統時間
4.2 删除文件(rm)
rm 文件名 // 删除當前目錄下的這個文件rm -f 文件名 // 删除當前目錄下的這個文件(不詢問)
4.3 編輯文件(vi、vim)
vi 文件名 // 打開需要編輯的文件
vim 文件名 // 打開需要編輯的文件
進入後,操作界面有三種模式:
命令模式(command mode)
1. 剛進入文件就是命令模式,通過方向鍵控制光标位置 2. 使用命令"dd"删除當前整行3. 使用命令"/字段"進行查找4. 按"i"在光标所在字符前開始插入5. 按"a"在光标所在字符後開始插入6. 按"o"在光标所在行的下面另起一新行插入7. 按":"進入底行模式
插入模式(Insert mode)
3. 此時可以對文件内容進行編輯,左下角會顯示 "-- 插入 --"" 2. 按"ESC"進入底行模式
底行模式(last line mode)
1. 退出編輯:q2. 強制退出:q! 3. 保存并退出:wq
具體操作步驟:
1. 保存文件:按"ESC" -> 輸入":" -> 輸入"wq",回車 // 保存并退出編輯 2. 取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車 // 撤銷本次修改并退出編輯
補充 :
vim 10 filename.txt // 打開文件并跳到第10行 vim -R /etc/passwd // 以隻讀模式打開文件
4.4 查看文件
cat a.txt // 查看文件最後一屏内容less a.txt // PgUp向上翻頁,PgDn向下翻頁,"q"退出 查看more a.txt // 顯示百分比,回車查看下一行,空格查看 下一頁,"q"退出查看tail -100 a.txt // 查看文件的後100行,"Ctrl C"退出查看
五、文件權限
5.1 權限說明
文件權限簡介:'r' 代表可讀, 'w' 代表可寫, 'x' 代表可執行
"8421法",r = 4,w = 2,x = 1,rwx = 0111 = 7
文件權限信息示例:-rwxrwxrwx
第一位:'-' 代表是文件,'d' 表是目錄 第一組rwx:擁有者的權限第二組rwx:擁有者所在的組,組員的權限第三組rwx:代表的是其他用戶的權限
5.2 文件權限
chmod 777 a.txt // 777即代表三組rwx,7
六、打包壓縮與解壓
6.1 後綴說明
.zip、.rar // windows系統中壓縮文件的擴展名
.tar // Linux中打包文件的擴展名
.gz // Linux中壓縮文件的擴展名
.tar.gz // Linux中打包并壓縮文件的擴展名
6.2 打包文件
tar -zcvf 打包壓縮後的文件名 要打包的文件名
參數說明:
z:調用gzip壓縮命令進行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名示例:
tar -zcvf 1.tar file1 // 将file1文件打包成名為1.tar的壓縮文件
tar -zcvf 1.tar file1 file2 ... // 多個文件壓縮打包
6.3 解壓文件
tar -zxvf 1.tar // 解壓至當前目錄
tar -zxvf 1.tar -C /usr // 指定解壓的位置/user
unzip 1.zip // 解壓1.zip文件
unzip -l 1.zip // 查看1.zip文件的内容
七、其它常用命令
7.1 find
find . -name "*.c" // 将目前目錄及其子目錄所有後綴為.c的文件列出來
find . -type f // 将目前目錄其其下子目錄中所有一半文件列出來
find . -ctime -20 // 将目前目錄及其子目錄下所有最近20 天内更新過的文件列出來
find /var/log -type f -mtime 7 -ok rm {} \
// 查找/var/log目錄中更改時間在7日以前的普通文件,并删除之前詢問它們
find / -type f -size 0 -exec ls -l {} \
// 為了查找系統中所有文件長度為0的普通文件,并列出它們的完整路徑
find . -type f -perm 644 -exec ls -l {} \
// 查找前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件
7.2 whereis
whereis ls // 将和ls文件相關的文件都查找出來
7.3 which
說明:which指令會在環境變量$PATH設置的目錄裡查找符合條件的文件。
which bash // 查看指令"bash"的絕對路徑
7.4 sudo
說明:sudo是表示超級用戶,sudo命令以系統管理者的身份執行指令,需要輸入自己賬戶密碼。
sudo vim 1.txt // 使用超級用戶的身份編輯1.txt文件
7.5 grep
grep -i "the" demo_file
// 在文件中查找字符串(不區分大小寫)
grep -A 3 -i "example" demo_text
// 輸出成功匹配的行,以及該行之後的三行
grep -r "ramesh" *
// 在一個文件夾中遞歸查詢包含指定字符串的文件
7.6 service
說明:service命令用于運行System V init腳本,這些腳本一般位于/etc/init.d文件下,這個命令可以直接運行這個文件夾裡面的腳本,而不用加上路徑。
service ssh status // 查看服務狀态
service --status-all // 查看所有服務狀态
service ssh restart // 重啟服務
7.7 free
說明:這個命令用于顯示系統當前内存的使用情況,包括已用内存、可用内存和交換内存的情況。
free -g // 以G為單位輸出内存的使用量,-g為GB,-m為MB,-k為KB,-b為字節
free -t // 查看所有内存的彙總
7.8 top
top // 顯示當前系統中占用資源最多的一些進程, shift m按照内存大小查看
7.9 df
說明:顯示文件系統的磁盤使用情況
df -h // 一種易看的顯示
7.10 mount
mount /dev/sdb1 /u01
// 挂載一個文件系統,需要先創建一個目錄,然後将這個文件系 統挂載到這個目錄上
dev/sdb1 /u01 ext2 defaults 0 2
// 添加到fstab中進行自動挂載,這樣任何時候系統重啟的時 候,文件系統都會被加載
7.11 uname
說明:uname可以顯示一些重要的系統信息,例如内核名稱、主機名、内核版本号、處理器類型之類的信息。
uname -a
7.12 yum
說明:安裝插件命令。
yum install httpd // 使用yum安裝apache
yum update httpd // 更新apache
yum remove httpd // 卸載/删除apache
7.13 rpm
說明:插件安裝命令。
rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
//使用rpm文件安裝apache
rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
// 使用rpm更新apache
rpm -ev httpd // 卸載/删除apache
7.14 date
date -s "01/31/2010 23:59:53" // 設置系統時間
7.15 wget
說明:使用wget從網上下載軟件、音樂、視頻。
wget http://download.redis.io/releases/redis-3.2.10.tar.gz
// wget命令下載redis-3.2.10.tar.gz
wget -O redis.tar.gz http://download.redis.io/releases/redis-3.2.10.tar.gz
// wget命令下載redis-3.2.10.tar.gz并命名為redis.tar.gz
7.16 ftp
ftp IP/hostname // 訪問ftp服務器
mls *.html - // 顯示遠程主機上文件列表
7.17 scp
scp /opt/1.txt 192.168.1.66:/opt/
// 将本地opt目錄下的1.txt文件發送到192.168.1.66服務器的opt目錄下
八、系統管理
8.1 防火牆操作
service iptables status // 查看iptables服務的狀态
service iptables start // 開啟iptables服務
service iptables stop // 停止iptables服務
service iptables restart // 重啟iptables服務
chkconfig iptables off // 關閉iptables服務的開機自啟動
chkconfig iptables on // 開啟iptables服務的開機自啟動
8.2 查看網絡
ifconfig
8.3 修改IP
修改網絡配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0
主要修改以下配置:
TYPE=Ethernet // 網絡類型
BOOTPROTO=static // 靜态IP
DEVICE=ens00 // 網卡名
IPADDR=192.168.1.100 // 設置的IP
NETMASK=255.255.255.0 // 子網掩碼
GATEWAY=192.168.1.1 // 網關
DNS1=192.168.1.1 // DNS
DNS2=8.8.8.8 // 備用DNS
ONBOOT=yes // 系統啟動時啟動此設置
修改保存以後使用命令重啟網卡:service network restart
8.4 配置映射
修改文件:vi /etc/hosts在文件最後添加映射地址,示例如下:
192.168.1.66 ip1
192.168.1.67 ip2
192.168.1.68 ip3
配置好保存退出,輸入命令:ping ip1可見實際ping的是 192.168.1.101。
8.5 查看進程
ps -ef // 查看所有正在運行的進程
8.6 結束進程
kill pid // 殺死該pid的進程
kill -9 pid // 制殺死該進程
8.7 查看鍊接
ping IP // 查看與此IP地址的連接情況
netstat -an // 查看當前系統端口
netstat -an | grep 8080 // 查看指定端口
8.8 快速清屏
ctrl l // 清屏,往上翻可以查看曆史操作
8.9 遠程主機
ssh IP // 遠程主機,需要輸入用戶名和密碼
覺得文章不錯,收藏的同時,麻煩點個贊~~~~~
關注微信公衆号『混說Linux』
你也可以繼續閱讀 點擊 以下文章,下面是我推薦給大家的幾篇文章:
1.《竟然把通信協議講的如此通俗?》
2.《徹底明白Linux硬鍊接和軟鍊接》
3.《淺析Makefile、make、cmake》
4.《常見硬件通信(SPI、I2C、CAN、USB、UART)協議介紹》
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!