一、常用命令清單
man help
cd pwd ls tree mkdir mv rm alias unalias
vi vim touch tail head
1、Linux bash命令行
bash命令行解釋器或者翻譯官,命令行輸入命令都是由bash解釋執行的.
命令行提示符
[root@lh ~]#
[root :命令行提示符@前面的字符代表當前登錄的用戶(可用whoami查詢),
[root@lh ~]# whoami
root
@分隔符
lh,@后面的為主機名(可用hostname查詢),
[root@lh ~]# hostname
lh
~ 所在的位置是窗口當前用戶所在的路徑(可用pwd查詢)。
[root@lh ~]# pwd
/root
]# 提示符,等着輸入命令,管理員的提示符是#,root用戶提示符,root皇帝。
[root@lh ~]# su - lh #切換到lh用戶
[lh@lh ~]$ whoami $是普通用戶的提示符。一般大臣,布衣。
lh
二、常用命令
linux區分大小寫
1、網卡相關配置
systemctl restart network或者
service network restart #重啟所有網卡
centos默認網卡是ens33
ens33改成eth0(內核參數 net.ifnames=0 biosdevname=0),
ifup eth1 #只啟動網卡1(eth1)
ifdown eth1 #只關閉網卡1
查看IP
ip a
ifconfig ##==>(yum install net-tools -y)
ifconfig eth0
2、ls
ls 查看當前目錄
ls -a 查看文文件隱藏內容
ls -lrt按時間倒序查
ls -l查看文件屬性
3、cat
cat 查看當前文件內容
cat -n查看文件有多少行
cat > a.txt
cat >> a.txt
其實用的也是 >(寫入) 和 >>(追加寫入) ,但是有一點不一樣的是,敲完上述命令會進入 a.txt的編輯模式,可以直接輸入你想要寫入的內容,最后按ctrl+z退出編輯模式自動保存
4、head和tail
head -數字 文件名(查看文件前多少行,默認是十行)
tail -數字 文件名(查看文件名后多少行,默認是十行)
tail -f實時查看文件最后內容
5、cd和pwd
cd ~切換到用戶家目錄
cd ..切換到上一級目錄
cd ../..切換到上一級的上一級目錄
pwd 顯示當前路徑
6、useradd
useradd yonghu 添加用戶
id yonghu查看用戶是否添加成功
useradd yonghu -s /sbin/nologin -M創建沒有家目錄且不能登陸的用戶
su - yonghu 切換到普通用戶
userdel -r zs刪除zs用戶(-r表示連同家目錄一起刪除)
usermod 修改用戶
7、whoami和hostname
whoami查詢當前登陸用戶
hostname查詢當前主機
8、mkdir和touch
mkdir 文件夾名 (創建文件夾)
mkdir {1..10}或者mkdir a1 a2 a3(創建文件夾)
mkdir -p a1/a2/a3(創建遞歸的文件夾)
touch 文件名(創建文件)
9、rm -rf
rm -rf 文件夾名(強制刪除文件夾)
10、echo
echo (打印輸出內容)
echo haha >a.txt(將結果寫入文件)
11、netstat-atulnp
netstat -atulnp查看開放的端口
12、tree
tree 文件(以樹形結構顯示目錄)
13、mv和cp
mv 源文件 目錄(移動文件或改名)
cp 源文件 目錄(復制文件)
14、alias net=
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'設置別名
下次打開只需要輸入net即可查看網卡信息
unalias net 取消別名
15、ps
ps -ef | grep ssh查看某個服務是否在運行
ps -aux
16、curl
相當於模擬瀏覽器用戶登陸
curl http://www.baidu.com
17、幫助命令
man 命令 或 命令 --help(查看幫助)
快捷鍵(提高效率):
tab 自動補全功能*****
不管多長的命令,先輸入2個字母,然后連續2下tab鍵,不斷循環。
補全路徑
作用:
1.提前確認輸入對錯(tab沒反應就有問題).
2.提高輸入效率,不用記完整命令.
三、vim下的命令
安裝vim命令: yum install vim-enhanced -y
1、vim編輯模式下的命令
i在當前光標出插入
o換下一行插入 O換上一行插入
2yy復制兩行 p粘貼
2、非編輯模式下
shift+g快速定位到最后一行 shift+g+1或者gg快速定位到第一行
end行尾 home行首
:w保存q退出!強制 shift+zz保存退出
u撤銷
/+關鍵字快速定位 n定位到下一個關鍵字
dd刪除光標所在行 2dd刪除兩行
x刪除文字后面的字 X刪除光標前面的字
:set nu顯示行號
:set nonu取消行號
/ 內容 (初始向下搜索,n向下搜,N向上搜)
3、替換
如果替換的內容中有/可以換成#或@(/ # @都是分隔符)
:%s#nologin#login#g(全局替換)-
21,24s#nologin#login#g(局部21,24替換)
四、時間
1、date
date -s(修改時間)
修改后的時間首先要改成所在的年份
再使用ntpdate ntp1.aliyun.com才能正確同步時間
2、yum provides 軟件(查看軟件來自哪個安轉包)
3、yum install ntpdate -y
五、壓縮打包解壓縮(一切皆文件)
1、zcvf壓縮創建顯示文件
格式:tar zcvf 路徑/包名 被壓縮文件路徑
z 壓縮
c創建
v顯示
f針對文件
2、tf查看壓縮內容
3、xf解壓縮
-C 路徑指定目錄解壓
4、壓縮包格式
.tar.gz .tz .7z .zip .rar
5、$(date +%F)
tar zcvf /lx/$(date +%F).tar.gz /lx(以日期作為包名,通常用作備份)
六、查找
1、查二進制文件(which和where -b)
二進制文件從以下文件夾去找
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
如果要找的文件不在這些文件夾里,需要把要文件添加到這些文件夾里
方法一
which 文件名
方法二
whereis -b 文件名
2、普通文件查找(find)
格式:find 要查找的路徑 選項1 選項2
2.1、按名字查找
find / -name a1 (在根下查找文件名叫a1的文件)
2.2、按類型查找
-type d(目錄)f(文件)b(磁盤)c(字符設備)l(軟連接文件,快捷方式)s(socket和應用程序之間通信有關)
find / -type d -name a1(查找目錄而且名為a1)
find / -type d -or -name a1(查找要么為目錄要么文件名為a1的文件)
2.3、取反(!)
find / ! -type d -name a1(查找不是目錄且名為a1)
2.4、按修改時間查找
(測試:復制即可。模擬每天創建一個文件,連續30天
mkdir /data -p for n in {01..30};do date -s "2021/08/$n";touch /data/file$n;done)
-mtime -7(7天內) =7(第7天)+7(7天前)
find / -mtime -7 -name lx(查找7天內修改過且名字為lx的文件或文件夾)
2.5、find 和 -exec一起用
find / -name lx -exec ls l {} ;(把find查到的內容存到{}然后執行ls -l查看屬性)
等價與ls -l /lx
2.6、高效的查找刪除find + xargs
find / -name a1 | xargs rm -rf(找到文件后刪除)
提高門檻刪東西:
-i 可以讓后面的{}接收搜索到的內容。
find /data -name "file" -mtime +7|xargs rm -f #簡寫
find /data -name "file" -mtime -7|xargs -i rm -f {} #完整寫法
原理:
rm -f file01 file02 ...file30 ##一條命令
效率更高
[root@lh ~]# find /data -name "file*" -mtime -7|xargs rm -f
[root@lh ~]# ls /data
file23
find /etc -name hosts | xargs cp -t /lx(找到文件后復制到指定路徑下,find找到的文件放在lx 后面)
cp 源 目標(默認是從源復制到目標路徑)
cp -t 目標 源(-t作用是把目標和源的位置換一下)
七、less瀏覽文件
空格瀏覽一頁,enter鍵瀏覽下一行
八、grep
grep后接內容,內容后接所在文件的路徑
-v對原來過濾的內容取反
-n顯示行號
-i 過濾內容不區分大小寫
重定向,把過濾的內容放到文件里,(文件之前的內容會被清空,所以對已有的文件要備份)
追加 把過濾的內容追加到文件里(文件之前的內容不會被清空)
九、查看網關路由
1、ip route
[root@lh ~]# ip route
default via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.7 metric 100
2、route -n
查看上網的出口地址.
[root@lh ~]# route -n ##==>(yum install net-tools -y)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
3、cat /etc/resolv.conf
[root@lh ~]# cat /etc/resolv.conf 查看DNS
nameserver 223.5.5.5 ##配置網卡的時候配置的
修改網卡配置文件:nmtui背后就是改這個ifcfg-eth0.
4、/etc/sysconfig/network-scripts/ifcfg-eth0
[root@lh ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0