1. 來源:
Unix: IBM、惠普 一般 公司 買不起, 用linux
Unix: 分支linux 、solaris(sun公司的)、android
linux 林納斯內核版本
發行版本的2個分支: ubuntu系統
redhat系列(centos是redhat的社區版)
2. Linux各級目錄
/bin: 所有用戶可以執行命令,單用戶可以執行(類型windows安全模式)
/sbin:超級用戶纔可以執行
/usr/bin: 普通用戶和超級用戶都可以執行, 單用戶不可以執行
/usr/sbin: 只有超級用戶纔可執行,不必要系統管理命令
/dev: 設備文件目錄
/etc: linxu默認配置文件
/home: 每個用戶的宿主目錄
/ lib : 系統調用庫
/ media: 掛載目錄,系統建議用於掛載 軟盤、光盤
/ mnt : 掛載目錄, 用於掛載 U盤、移動硬盤 操作系統其它分區
/opt : 第三方軟件安裝目錄建議 c/Programs Files,不過習慣放到/usr/local目錄下
/proc: 進程運行信息,cpu 信息
/sys: 保存內核相關信息 運行中
/srv: 系統服務運行中產生的臨時數據
/tmp: 臨時文件
/usr: 相當於C:\Windows目錄, 系統的資源目錄 Unix Resource
/var: 軟件產生動態數據保存位置,比如日誌、軟件運行產生文件
命令格式:
命令 [-選項] [參數]
3. ls 命令
-a: 顯示所有文件,包括隱藏文件, Linux以.開頭的,改名.開頭文件名,就可以隱藏了
-l: 詳細信息
drwxr-xr-x. 2 root root 6 4月 11 2018 opt
權限 所有者 所屬組 文件大小 文件最後修改時間
ls -lh , 用k 顯示
drwxrwxrwt. 27 root root 4.0K 3月 29 19:06 tmp
-i: 查看所有文件|目錄的 innode號
-:文件
d: 目錄
l: 軟連接
rwx 讀(r)寫(w)執行(x) 421
所有者 所屬組 其他人
4. mkdir
mkdir -p /home/abc/def : 不存在目錄頁 創建
cp abc tep -r : 複製目錄
mv bb.txt cc.txt: 改名| 剪切
rm -r 刪除目錄,會詢問
rm -rf : 強制刪除
一個文件太長cat命令不好看:
more /etc/services :
空格或者 f 翻頁
enter 換行
q 退出
less /etc/services :
上箭頭 :往上換行
PgUp: 往上翻頁
/關鍵詞:查找內容
head -n 7 /etc/services: 看前 7行
tail -n 7 /etc/services: 看末尾 7 行
tail -f /etc/services: 監控文件,動態變化
5. ln 鏈接命令
ln -s bb.txt soft.txt: 軟鏈接,類似windows的快捷方式
ln bb.txt ying.txt: 硬鏈接,可以同步更新,不可以跨分區,不可以設置目錄
如何判斷通過ls -i: Innode節點相同
6. chmod 修改權限
chmod g+w,o+w,u-w ying.txt: 所有者去掉w, 所屬組加w,其他用戶加w
chmod g=rwx ying.txt: 給 g 修改 rwx
chmod 755 ying.txt
chmod 777 bb -R :改變目錄以及目錄下所有文件
文件目錄權限理解
file:
r:cat/more/head/tail/less
w: vim
x :commond
directory:
r: ls
w: touch/mkdir/rmdir/rm
x: cd
****刪除一個文件,是對該用戶對該文件所在目錄有寫權限
7. chown 所有者、所屬組
只有root用戶可以做
chown xiaoming c.txt :修改文件所有者
chgrp xiaoming c.txt : 修改所屬組
-rwxrwxrwx. 1 xiaoming xiaoming 0 3月 29 21:59 c.txt
誰創建文件,誰就屬於文件所有者, 默認缺省組 就是文件創建者
一個用戶可以屬於多個組
umask
目錄默認:755 rwx r-x r-x
文件默認:rw- r--- r--
8. linux 文件查找命令
8.1. 根據名稱
find /etc -name init : /etc目錄 -name: 根據名字查找
配合通配符使用:
find /etc -name init*: 以 init 開頭文件
find /etc -iname init*: 搜索不區分大小寫
8.2. 根據大小
find / -size +204800: 大於100M文件,單位是數據塊
+n: 大於 -n 大於 n等於
204800(塊)*0.5= 102400KB = 100M
Linux一個數據塊512字節,0.5K,linux存儲文件最小單位
8.3. 條件連接
find /etc -size +163840 -a -size -204800: 查找大於80M小於100M 文件
-a 兩個條件同時滿足
-o: 兩個條件 滿足一個即可
find /etc -size +163840 -a -size -204800
8.4. 根據時間
find ./ -cmin -5 : 5分鐘內文件屬性被修改的文件,比如所有者所組
find ./ -mmin -5 : 5分鐘文件內容被修改的文件
8.5. 根據文件所有者
find /home/denganzhi/ -user denganzhi 根據所有者
-group 根據所屬組查找
8.6. exec
在/etc下找到文件, exec 對find 查找結果進行 ls -l 查看詳細信息
find /etc -name init -a -type f -exec ls -l {} \;
-type f 文件
d 目錄
l 軟連接文件
find ./ -name hello.txt -exec rm -rf {} \; 查找文件刪除
9.locate
類似widnows上的evetything 速度非常快
原理:去搜索 /var/lib/mlocate/mlocate.db 目錄,linux下所有文件的所有都在這裏,locate就是在這裏找
yum install mlocate: 如果沒有安裝安裝即可
updatedb : 如果新建立文件,沒有加入 mlocate.db 中,那麼可以使用 updatedb 加入
locate inittab : 使用,查找 inittab
locate -i inittab: 不區分大小寫
10. 查找命令所在位置 ,命令是否有別名
which ls;
whereis useradd: 還可以找到命令幫助文檔所在路徑
11. 幫助命令:
man ls 1: 查看命令幫助,看命令功能
如果查找某一個參數,比如-d 參數 , 可以 /-d 快速定位
修改系統時間: date 031410252016.44 根據man命令的查看的格式
man service 5 :查看 service 配置文件幫助,看 配置文件功能,記住不要加路徑
man下常用章節:
1 標準用戶命令
2 系統調用
3 庫調用
5 配置文件系統
上面man字太多了:
whatis ls : 使用這個命令,一句話概述命令功能
apropos inittab :一句話概述配置文件功能
touch --help: 把常用參數選項列出來
12. who 有多少個用戶登錄
useradd xiaoming: 添加用戶名
passwd xiaoming: 設置密碼
who 查看用戶登錄信息
登錄用戶名 登錄終端 登錄時間,登錄地址,遠程登錄(192.168.31.1)
root pts/0 2020-04-12 20:28 (192.168.31.1)
denganzhi pts/1 2020-04-12 20:30 (192.168.31.1)
Last 查看目前各過去用戶登錄信息: 如果有黑客工具登錄
13. 壓縮
linux 壓縮格式:
文件壓縮: .gz
gzip aa.txt ,壓縮完成以後不保留源文件
gunzip aa.txt.gz
文件夾壓縮:
tar -czvf hello.tar.gz hello cvf:打tar包 z壓縮.gz
tar -xzvf hello.tar.gz : 解包
tar -xzvf aa.tar.gz -C ./cc : 解壓指定目錄
.zip:
zip bb.zip bb : 壓縮文件.保留原文件
zip -r bound.zip bound : 壓縮文件夾
unzip bound.zip
bzip2: 推薦壓縮大文件
bzip2 -k file: 壓縮文件,-k 保留原文件
tar -cjvf cc.tar.bz2 cc: 打包 bz2
tar -xjvf cc.tar.bz2
14. 網絡命令
14.1 ping www.baidu.com -c 3
windows只能 ping 4次 linux不斷ping下去 -c次數
14.2. ifconfig
ens33 centos7把 eth0 改成 ens33, 0表示 第0塊網卡
lo
修改IP: ifconfig ens33 192.168.8.250
1、vi /etc/sysconfig/network-scripts/ifcfg-ens33
把 ONBOOT="no" 改爲 yes,啓動網卡意識就是
2、 service network restart : 重啓網絡服務
14.3. mail 郵箱,比如系統給你發了郵箱,怎麼看
怎麼給別入發:mail denganzhi, ctrl+d 結束
denganzhi登錄:
mail : 查看郵件
進入郵箱界面: 查看第一封輸入 1,恢復欄目界面 h d 1:刪除第一封郵件
14.4. 路由追蹤
traceroute www.baidu.com: 查看訪問某一個路由節點的信息
netstat -tuln: tcp udp 查看tcp、udp 監聽了哪些端口,哪些端口打開了
netstat -an : 所有連接信息
15. 關機
shutdown -h now : 立即關機
shutdown -h 20:30 :定時關機8.30晚上
shutdown -c: 取消前一個關機命令
-r: 重啓
Linux系統運行級別,啓動的時候可以進入對應級別
0 關機
1 單用戶(root),類似windows安裝模式,啓動最小服務器,進入系統,無圖像界面
爲什麼:問題可能是系統服務器導致的,首先進入,然後在修復查找那哪個服務器問題,修復
2 不完全多用戶,不含NFS服務(NFS不安全)
3. 完全多用戶
4. 未分配
5. 圖形界面
6. 重啓
比如init 0關機 , init 6 重啓
linux修改系統默認運行級別: cat /etc/inittab, centos7這個廢棄了這個文件
id: 3 :initdefault: 設置id 5
runlevel 命令查看 當前運行級別
logout : 退出登錄,記得退出
16. 用戶管理:
用戶配置信息 /etc/passwd
密碼文件: /etc/shasow
組信息文件: /etc/group
組密碼文件:/etc/gshasow
16.1.man 5 passwd: 這裏不用打絕對路徑注意, cat /etc/passwd命令
解讀:
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin: 每一行代表一個用戶
apache: 用戶名稱
x: 密碼標誌,密碼不存在這裏,在/etc/shasow
48: 用戶id , 在內核中唯一標識
0: 超級用戶
1-499: 系統用戶(僞用戶),啓動服務器的用戶,不能登錄
500-65535: 普通用戶
***如果普通用戶把uid改成0,就是root用戶了
48: 用戶初始組id(gid),用戶建立的時候,
附加組:用戶可以加入其它用戶組,可以加入多個
Apache:用戶說明
/usr/share/httpd: 用戶家目錄
/sbin/nologin: 對應的shell命令位置
16.2.cat /etc/shasow
root:$6$wZmVb2sVHGSun3fai.02V4kR.4/8lGlMSnTg.84wM4uDjYZ1::0:99999:7:::
root: 用戶名
第2字段:加密密碼
加密算法sha512
如果密碼是 !! 或者* 標識沒有密碼,不能登錄
第3字段:密碼最後一次修改日期,
18364表示什麼意思:表示1970.1.1到今天,一共共有1836 天,每過一天+1
5個,99999: 密碼有效期,99999天
時間戳—>日期: date -d "1970-01-01 16066 days" 16066是天
輸出 :2013年 12月 27日 星期五 00:00:00 CST
日期->時間戳: 天
echo $(( $(date --date="2013/12/27" +%s)/86400 +1));
16.3. cat /etc/group: 每添加一個用戶都會生成一個和用戶名相同的組作爲默認組
root:x:0:liming
root 組名
x: 組密碼標識,/etc/gshasow ,沒用
0 用戶的組ID
liming: liming用戶的附加組就是root
16.4.用戶家目錄:
普通用戶: /home/用戶名稱,自動創建
root用戶: root
/var/spool/mail/用戶名:用戶郵箱,用於用戶之間通信
/etc/skel/ : 用戶模板目錄,創建新用的時候會把這裏的內容拷貝到家目錄下
16.5.用戶管理:
useradd xiaohei
useradd -u 666 -G root,xiaoming -c "test users" liming: 添加用戶
-u: 手動指定用戶id
-G: 附加組加入
-c: 用戶說明
passwd xiaoming : 設置密碼
passwd: 修改密碼
** echo "123456" | passwd --stdin lamp: 把"123456" 字符串作爲lamp 密碼
usermod -u 555 -G xiaohei -c "test users new" liming: 修改用戶
userdel -r liming: 刪除用戶
id denganzhi
uid=0(root) gid=0(root) 組=0(root) 用戶id,組id,附加組id
su - liming: 切換用戶
su - root: 必須加- 否則環境變量無法切換
gpasswd -a xiaoze root: 把xiaoze 加入root組
cat /etc/group: 查看附加組
gpasswd -d denganzhi root: 從附加組刪除
組命令:groupadd、groupdel、照葫蘆畫瓢
groupmod -n testgrp group1:把 組名group1改成testgrp
17. 磁盤管理
df -h : 查看文件系統信息
df 佔用量比 du大,du只是面向文件,只會計算文件或目錄佔用空間
df: 除了文件目錄佔用空間,還有統計被命令或者程序佔用空間
ls -lh: 統計子目錄大小
du /etc/ : 統計子孫目錄大小
du -sh /etc :統計某一個文件大小
-s: 統計總佔用量,而不列出子目錄和子文件的佔用量
-h: 使用習慣單位顯示磁盤佔用量 KB,MB,GB等
mount -l: 查看系統中已經掛載的設備,設備文件描述符 /dev/sr0 on /mnt/cdrom type iso9660
mount -t 文件系統:加入文件系統來指定掛載類型、可以ext3、ext4、iso9660等文件系統
-o 特殊選項: 可以指定掛載的額外選項
mount -o remount,rw /dev/sr0 /mnt/cdrom : remount重新掛載讀寫權限,這樣可以修改默認掛載只讀光盤
掛載光盤:
mount -t iso9660 /dev/sr0 /mnt/cdrom: 掛載就是把設備文件名和掛載點對應起來
umount /dev/cdrom
掛載U盤: 自動識別sdb sdc 不行???
1. fdisk -l : 查看是否已經識別
2. mount -t vfat /dev/sdb /mnt/usb
fat: fat16
vfat: fat32