- 當(dāng)前路徑
- 定位到用戶主目錄
- 主機(jī)名查看
- 重啟
- 主機(jī)名設(shè)置
- 主機(jī)名與IP的映射
- 查看當(dāng)前文件夾內(nèi)文件信息, 可搭配過濾
- 文件權(quán)限/歸屬
- 權(quán)限及擁有者和所屬組的修改
- 鏈接
- 文件內(nèi)容追加
- 文件的拷貝/移動(dòng)/重命名/刪除
- 創(chuàng)建多級(jí)目錄
- 用戶與用戶組操作
- 軟件包的管理方式. rpm 和 yum
- 查看端口與進(jìn)程
- 使用 scp 將文件/目錄分發(fā)到其他主機(jī)
- 使用 rsync 進(jìn)行遠(yuǎn)程同步
- grep過濾與管道符
- 追加和覆蓋
- grep 結(jié)合正則表達(dá)式使用
- 統(tǒng)計(jì)有多少文件和目錄
- 系統(tǒng)信息
- 防火墻設(shè)置
- 設(shè)置普通用戶的 sudo 權(quán)限
- 壓縮和解壓縮
- 更換鏡像源
1. 當(dāng)前路徑
pwd
2. 定位到用戶主目錄
cd ~
3. 主機(jī)名查看
hostname
4. 重啟
reboot
5. 主機(jī)名設(shè)置
vim /etc/hostname (centOS 7, 需重啟)
6. 主機(jī)名與IP的映射
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.130(虛擬機(jī)IP) zyq.com(主機(jī)名)
7. 查看當(dāng)前文件夾內(nèi)文件信息, 可搭配過濾
ll //列出來的結(jié)果詳細(xì),有時(shí)間,是否可讀寫等信息 ,像 windows 里的詳細(xì)信息, ll 不是命令,是 ls -l 的別名, ls 命令可以說是linux下最常用的命令之一。
ls //只列出文件名或目錄名 就像 windows 里的列表
-t //降序,
-tac //升序
-a //列出目錄下的所有文件,包括以 . 開頭的隱含文件
-d 將目錄象文件一樣顯示,而不是顯示其下的文件
-e 輸出時(shí)間的全部信息,而不是輸出簡略信息。
-f -U 對(duì)輸出的文件不排序。
-g 無用。
-i 輸出文件的 i 節(jié)點(diǎn)的索引信息。
-k 以 k 字節(jié)的形式表示文件的大小。
-l 列出文件的詳細(xì)信息。
-m 橫向輸出文件名,并以“,”作分格符。
-n 用數(shù)字的 UID,GID 代替名稱。
-o 顯示文件的除組信息外的詳細(xì)信息。
-p -F 在每個(gè)文件名后附上一個(gè)字符以說明該文件的類型,“*”表示可執(zhí)行的普通
文件;“/”表示目錄;“@”表示符號(hào)鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。
-q 用?代替不可輸出的字符。
-r 對(duì)目錄反向排序。
-s 在每個(gè)文件名后輸出該文件的大小。
-t 以時(shí)間排序。
-u 以文件上次被訪問的時(shí)間排序。
-x 按列輸出,橫向排序。
-A 顯示除 “.”和“..”外的所有文件。
-B 不輸出以 “~”結(jié)尾的備份文件。
-C 按列輸出,縱向排序。
-G 輸出文件的組的信息。
-L 列出鏈接文件名而不是鏈接到的文件。
-N 不限制文件長度。
-Q 把輸出的文件名用雙引號(hào)括起來。
-R 列出所有子目錄下的文件。
-S 以文件大小排序。
-X 以文件的擴(kuò)展名(最后一個(gè) . 后的字符)排序。
-1 一行只輸出一個(gè)文件。
–color=no 不顯示彩色文件名
–help 在標(biāo)準(zhǔn)輸出上顯示幫助信息。
–version 在標(biāo)準(zhǔn)輸出上輸出版本信息并退出。
8. 文件權(quán)限/歸屬
drwxrwxr-x. 7 root root
-rw-r--r--. 1 root root
d 開頭表示是目錄, -開頭表示是文件.
后面是文件權(quán)限
-
r可讀 -
w可寫 -
x可執(zhí)行(腳本,比如shell 腳本 ) -
-表示沒有任何權(quán)限
以上面為例, 每三位代表一個(gè)權(quán)限.
- 第一個(gè)三位表示當(dāng)前所屬用戶的權(quán)限.
- 第二個(gè)三位表示所屬組擁有的權(quán)限.
- 第三個(gè)三位表示所有用戶的權(quán)限.
權(quán)限后面的數(shù)字意義
- 如果當(dāng)前是目錄, 那么表示下面有幾個(gè)子目錄. (文件不算目錄)
- 如果是文件, 那么表示硬鏈接數(shù)量有幾個(gè).
root root 表示文件/目錄所屬用戶及用戶組.
9. 權(quán)限及擁有者和所屬組的修改
首先需要了解權(quán)限的數(shù)字表示法.
-
r= 4 -
w= 2 -
x= 1
-rw-r--r--. 1 root root
以這個(gè)為例, 將對(duì)應(yīng)的權(quán)限按照數(shù)字表示法就為
rw-r--r-- = 644
解讀:
當(dāng)前所屬用戶權(quán)限有讀和寫就為 4+2.
當(dāng)前所屬組權(quán)限只有讀, 就為 4.
其他人的權(quán)限也只有讀, 就為 4.
這個(gè)權(quán)限表示, 除了 root這個(gè)用戶可以讀寫外, 其他人和組都只有只讀權(quán)限.
修改權(quán)限命令
chmod 666 filename, 或者 chomd r+x, chmod r+w, 可以以數(shù)字的形式, 也可以 rwx的形式
改變文件/目錄的擁有者和所屬組
- 改變文件擁有者命令:chown
chown userName(要改變?yōu)樾聯(lián)碛姓叩拿Q) fileName(要改變擁有者文件的名字 )
- 改變文件所屬組命令: chgrp
chgrp groupName(要改變?yōu)樾滤鶎俳M的名稱) fileName(要改變所屬組文件的名字 )
- 改變文件夾擁有者命令: chown -R
chown -R userName(要改變?yōu)樾聯(lián)碛姓叩拿Q) fileName(要改變擁有者文件的名字 )
- 改變文件夾的所屬組命令: chgrp -R
chgrp -R groupName(要改變?yōu)樾滤鶎俳M的名稱) fileName(要改變所屬組文件的名字 )
- 一條命令同時(shí)改變擁有者和所屬組
chown userName:groupName filePath
10. 鏈接
軟鏈接
- 相當(dāng)于windows 的快捷方式
- 改變?cè)次募r(shí),軟連接創(chuàng)建的文件也會(huì)改變
- 刪除鏈接后,源文件還在
- 刪除源文件后,鏈接指向錯(cuò)誤
硬鏈接
- 相當(dāng)于拷貝一個(gè)文件
- 改變?cè)次募r(shí),軟連接創(chuàng)建的文件也會(huì)改變
- 刪除鏈接后,源文件也還在
- 刪除源文件時(shí),硬鏈接所創(chuàng)建的文件不受影響
軟連接命令格式: ln -s file/dir linkName
例: ln -s readme.txt rm.txt //rm.txt 為快捷方式的名字
硬鏈接命令格式: ln file/dir linkName
修改符號(hào)連接的owner
$>chown -h centos:centos xxx //-h:針對(duì)連接本身,而不是所指文件.
修改符號(hào)鏈接
$>ln -sfT index.html index //覆蓋原有的連接。
11. 文件內(nèi)容追加
echo 追加內(nèi)容 >> 要追加的文件名
- 幾種查看文件的方式
-
cat filename全部內(nèi)容 -
more filename翻頁查看 -
tail filename末尾內(nèi)容,通常與 -f 參數(shù)連用,適合于查看服務(wù)實(shí)時(shí)動(dòng)態(tài)日志信息
例: tail -f xxxx.log
tail -200f yyy.log 查看末尾200行的信息
- head filename 開頭文件,適合查看,文件格式,內(nèi)容模板樣式等
12. 文件的拷貝/移動(dòng)/重命名/刪除
- 拷貝
cp fileName path //拷貝一個(gè)文件到一個(gè)目錄中
cp fileName newFileName //拷貝一個(gè)文件的內(nèi)容至一個(gè)文件中(新文件)
cp -r dir newDir //拷貝一個(gè)目錄到另外一個(gè)目錄去 -r 是遞歸拷貝
- 移動(dòng)和重命名
mv fileName path //移動(dòng)(fileName與Path不在同一目錄下就是移動(dòng))
mv fileName path //重命名(當(dāng)fileName 與path同一個(gè)目錄下的時(shí)候就是重命名)
- 刪除
rm -rf fileName //遞歸強(qiáng)制刪除, file 最好是絕對(duì)路徑, -r 遞歸 ,-f 強(qiáng)制
13. 創(chuàng)建多級(jí)目錄
mkdir -p path //-p 有就執(zhí)行,沒有就創(chuàng)建
14. 用戶與用戶組操作
查看所有用戶與用戶組 ID
cat /etc/password
查看用戶組根據(jù)用戶名
id username
將x用戶添加到y(tǒng)y組
usermod -a -G yy x
創(chuàng)建普通用戶
useradd zhangsan //創(chuàng)建一個(gè)用戶
passwd 剛才創(chuàng)建的用戶名 //添加密碼 這種模式會(huì)默認(rèn)創(chuàng)建group組
創(chuàng)建用戶組
groupadd zhangsan
切換用戶
//帶 - 的是完全切換用戶以及環(huán)境變量,
//不帶 - 的僅僅只是切換用戶
//一般建議使用 su - 用戶名的方式切換
su - zhangsan 或者 su zhangsan
刪除用戶
userdel -r zhangsan // -r 表示刪除用戶的時(shí)候刪除該用戶的主目錄
切換到管理員用戶
su 或者 sudo -s
15. 軟件包的管理方式. rpm 和 yum
有兩種方式 rpm 和 yum
RPM, 依賴比較嚴(yán)重, 必須一一安裝所依賴的包.
RPM 常用的命令
- 查詢
rpm -qa q表示查詢,a表示所有
//相關(guān)參數(shù)
-》 表示查詢套件的相關(guān)信息
-i 表示顯示套件的相關(guān)信息
-v 表示顯示指令執(zhí)行過程
-h 表示套件安裝時(shí)列出標(biāo)記
- 檢查某個(gè)軟件是否安裝
rpm -qa | grep 軟件名
選項(xiàng) --nodeps: 不檢測(cè)依賴性,一般建議在試驗(yàn)環(huán)境使用
- 卸載已安裝的軟件
rpm -e --nodeps xxxxxx
rpm -e httpd-manual-2.2.15-26.e16.centos.noarch.rpm //錯(cuò)誤,需要去掉后綴名
rpm -e httpd-manual-2.2.15-26.e16.centos.noarch //正確
- 安裝軟件
rpm -ivh xxx.rpm
rpm -ivh httpd-manual-2.2.15-26.e16.centos.noarch.rpm
yum
yum 會(huì)自動(dòng)安裝所依賴的包.
常用命令
- 查詢
#查詢已經(jīng)安裝好的包
yum list
#查詢指定安裝的包
yum list | grep 'httpd'
yum list installed | grep ssh
- 安裝
#選項(xiàng) -y :安裝過程中無須確認(rèn),直接安裝依賴包
yum -y install httpd-devel.x86_64
- 卸載
yum -y remove httpd-devel.86_64
- yum 倉庫: 地址
/etc/yum.repos.d/ - gpgkey 校驗(yàn)碼:
gpgcheck = 1開啟校驗(yàn),0是關(guān)閉
16. 查看端口與進(jìn)程
netstat -an | grep 端口號(hào)
netstat -lntp
ps -Af | grep 進(jìn)程名
ps -ef | grep nginx
#也可以使用防火墻的命令來查詢指定端口是否開放
firewall-cmd --query-port=要查詢的端口/tcp
17. 使用 scp 將文件/目錄分發(fā)到其他主機(jī)
scp -r ./hadoop-2.7.3/ yzhang@zyq03.com:/opt/app
#復(fù)制哪個(gè)目錄,到哪臺(tái)主機(jī)的哪個(gè)目錄下
18. 使用 rsync 進(jìn)行遠(yuǎn)程同步
使用 rsync遠(yuǎn)程同步,可以處理符號(hào)鏈接問題, scp 處理不了符號(hào)鏈接, 同時(shí)速度也更快.
rsync -lr dirOrfile yzhang@zyq01.com:/path
#-l copy符號(hào)鏈接過去后仍為符號(hào)鏈接
#-r 遞歸
19. grep過濾與管道符
grep 過濾
-c 只輸出匹配行的計(jì)數(shù)
-i 查詢多文件時(shí)不顯示文件名
-l 查詢多文件時(shí)只輸出包含匹配字符的文件名
-n 顯示匹配行及行號(hào)
-s 不顯示不存在或無匹配文本的錯(cuò)誤信息
-v 顯示不包含匹配文本的所有行
-B before 前
-A after 后
--color 搜索出來的關(guān)鍵字變色
例1:
grep -i --color '關(guān)鍵字' 文件名
#搜索關(guān)鍵詞的前五行和后五行
grep --color '關(guān)鍵字' 文件名 -B5 -a -A5
例2: 過濾出當(dāng)前目錄下帶有 `t` 關(guān)鍵字的信息并變色.
ll | grep --color 't'
管道符, 用豎線表示 |, 表示將前一個(gè)命令的輸出結(jié)果傳遞給后面的命令處理,兩邊都是命令.
例 cat /etc/passwd | more
篩選過濾
例 cat /etc/passwd | grep 'root'
例 head -5 文件名 | grep 關(guān)鍵字 #搜索前五行中 包含關(guān)鍵字的行
過濾條件
例 ls /dev | grep 'odrom '
20. 追加和覆蓋
追加 >> 以追加的方式將命令正確的結(jié)果輸出到文件或設(shè)備中
#從student 中讀取包含zhangsan 的行,追加到name.txt 中,name.txt 存在則直接追加,不存在則先創(chuàng)建文件再進(jìn)行追加
grep 'zhangsan' student >> name.txt
覆蓋符號(hào)為>
21. grep 結(jié)合正則表達(dá)式使用
-
^表示起始 -
$表示結(jié)束 -
.表示單個(gè)字符 -
*表示所有字符
例
#找出包含一個(gè)數(shù)字的信息
grep '[0-9]' /etc/xxxx
#找出包含三個(gè)數(shù)字的信息
grep '[0-9][0-9][0-9]' /etc/xxx
#找出包含三個(gè)數(shù)字后面以:7結(jié)尾的信息
grep '[0-9][0-9][0-9]:7' /etc/xxx
#搜索以txt 結(jié)尾的文件
ls | grep .txt$
#搜搜以r開始,以n結(jié)尾,中間為任意字符 .*聯(lián)合起來使用表示 任意字符
grep '^r.*n$' /etc/xxx
22. 統(tǒng)計(jì)有多少文件和目錄
ll | wc -l
23. 系統(tǒng)信息
uname #系統(tǒng)類型
uname -r #內(nèi)核版本
cat /proc/cpuinfo #CPU信息
cat /proc/meminfo #內(nèi)存信息
date #系統(tǒng)日期
date -R #系統(tǒng)時(shí)區(qū)
cal 2023 #日歷表
date -s 2023-10-31 #設(shè)置系統(tǒng)時(shí)間(需要root)
date -s 15:45:25
df -lh #查看磁盤信息(需要root)
fdisk -l #查看磁盤信息(需要root)
mount #查看磁盤掛載信息(需要root)
mount 把什么掛載到什么地方 #掛載磁盤(需要root)
umount /xxx/sdb1 #卸載磁盤(需要root)
du -sh /home/xxx/ #查看某個(gè)目錄的大小
du -h /home/xxx/
fsck /dev/xxx #修復(fù)磁盤
free -m #看系統(tǒng)內(nèi)存的使用情況
top #各個(gè)進(jìn)程內(nèi)存的使用情況
top 按下 M 顯示詳細(xì)
24. 防火墻設(shè)置及開放端口
CentOS7中防火墻改變?yōu)?firewalld
- 查看防火墻狀態(tài)
firewall-cmd --state
- 關(guān)閉防火墻
systemctl stop firewalld.service
- 啟動(dòng)防火墻
systemctl start firewalld.service
- 重啟防火墻
firewall-cmd --reloadl
- 禁止firewall開機(jī)啟動(dòng)
systemctl disable firewalld.service
- 開放指定端口
firewall-cmd --zone=public --add-port=要開放的端口/tcp --permanent
- 關(guān)閉指定端口
firewall-cmd --zone=public --remove-port=要關(guān)閉的端口/tcp --permanent
- 查看指定端口是否開放
firewall-cmd --query-port=要查詢的端口/tcp
25. 設(shè)置普通用戶的 sudo 權(quán)限
切換到root賬戶。
執(zhí)行 vi /etc/sudoers 或者 visudo
在最上面插入
賬戶名 ALL=(root)NOPASSWD:ALL
yzhang ALL=(ALL) NOPASSWD: ALL
26. 壓縮和解壓縮
解壓
-
.tar結(jié)尾的tar -xvf xxx.tar- 解壓到當(dāng)前目錄
tar -xvf xxx.tar - 解壓到指定目錄
tar -xvf xxx.tar -C dirPath
- 解壓到當(dāng)前目錄
-
.tar.gz結(jié)尾的- 解壓到當(dāng)前目錄
tar -zxvf xxx.tar.gz - 解壓到指定目錄
tar -zxvf xxx.tar.gz -C dirPath
- 解壓到當(dāng)前目錄
-C 意思是重定向. 這個(gè)選項(xiàng)用在解壓縮,若要在特定的目錄解壓縮,可以使用這個(gè)選項(xiàng)
壓縮
-
.tar結(jié)尾的-
tar -cvf test.tar test#打包完成之后在壓縮 -
gzip test.tar#使用gzip直接壓縮,源文件會(huì)被刪除
-
-
.tar.gz結(jié)尾的-
tar -zcvf zzz.tar.gz dir/file#要打包的文件或者目錄
-
27. 更換鏡像源
選擇一個(gè)好的鏡像源加快Centos7系統(tǒng)的更新升級(jí)或者安裝軟件的速度
- 更換阿里的鏡像源
- 先備份原來的
yum源sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 設(shè)置阿里云的
yum源sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 添加 EPEL源
-
EPEL是由Fedora社區(qū)打造,為RHEL及衍生發(fā)行版如CentOS、Scientific Linux等提供高質(zhì)量軟件包的項(xiàng)目。裝上EPEL后,可以像在Fedora上一樣,可以通過yum install package-name,安裝更多軟件。 sudo wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
-
- 清理緩存并生成新的緩存
sudo yum clean allsudo yum makecache
- 先備份原來的
- 安裝完成后執(zhí)行
sudo yum list查看
[yzhang@zyq01 ~]$ sudo yum list
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com