Linux筆記
基于 CentOS7.4
- 1.分區
- 2.基礎
- 3.文件權限
- 4.常用命令
- 5.shell快捷鍵
分區:
關鍵字:主分區,擴展分區,邏輯分區,掛載點,swap,hda1
主分區:
linux可以有1-3個主分區擴展分區:
linux可以有1個擴展分區邏輯分區:
linux可以有若干個邏輯分區,邏輯分區都屬于擴展分區掛載點:
類似于windows的盤符, / /boot 都可以設置為掛載點swap:
虛擬內存區,一般設置為真實內存1-2倍hda1:
hd指硬盤,a指第一塊硬盤,1指第一個分區(hdc2表示第3塊硬盤的第2個分區,分區文件可在/dev 文件下查看)注意:
linux分區大致為3(主分區)+[1(擴展分區)+n(邏輯分區,邏輯分區都在擴展分區中)],擴展分區的分區號從5開始分區建議:
/ 根目錄(必須)
/boot 系統安裝目錄(建議單獨分區)
swap 虛擬內存(必須,真實內存1-2倍)
基礎:
-
[root@localhost ~]#
- root 用戶名
- localhost 主機名
- ~ 當前目錄名
- # 超級用戶
- $ 普通用戶
- 超級用戶默認進入在 /root 文件
- 普通用戶默認進入在 /home/用戶名 文件
-
文件目錄
- /bin /sbin /usr/bin /usr/sbin 都是用來保存系統命令的(bin下的命令所有用戶都可以執行 sbin下的命令只有超級用戶才能執行)
- /dev 設備目錄
- /etc 系統默認配置文件
- /home 普通用戶家目錄
- /root 超級用戶家目錄
- /lib linux函數庫保存目錄
- /mut 掛在外接設備目錄(如U盤光盤之類)
- /proc /sys 保存內存掛載點不能直接操作
- /tmp 臨時目錄
- /usr 系統資源保存目錄
- /var 系統可見文檔目錄
文件權限:
-rwx---------.
第一位代表文件類型(-文件 d目錄 l軟鏈接文件)
后面的每3位代表的一組(rwx分別代表:讀,寫,執行):第一組所有者權限;第二組所屬組權限;第三組其他用戶權限。
.代表ACL權限(centos6以后才有)
- linux中點開頭的文件是隱藏文件
常用命令:
命令 [選項](-ad等于--all) [參數]
- ls 查看目錄文件
ls -l 顯示目錄下詳細信息 ls -a 顯示目錄下全部信息包括隱藏文件 ls -h 顯示目錄下人性化顯示 ls -d 顯示當前目錄詳細信息 ls -i 顯示目錄下文件inode(文件id號)
- vi 編輯
vi /jianghe/test.conf #編輯test.conf
- i編輯
- :wq保存并退出
- :q退出
- 如果是用ctrl+z終止編輯下次編輯該文件需要先刪除.swp文件
- mkdir(make directory)創建目錄
mkdir /jianghe 在/根目錄下創建jianghe目錄 mkdir -p /jianghe/test 在/根目錄下遞歸創建jianghe/test目錄(多層目錄)
- touch 創建空文件或改變文件系統時間
touch ex2 在當前目錄下建立一個空文件ex2
- cd(change directory)改變路徑
cd /jianghe 跳轉到/jianghe cd - 進入上次目錄 cd ~(直接cd) 進入當前用戶家牡目錄 cd .. 進入上級目錄
- pwd(print woring drectory)顯示當前目錄
- cat 查看文件內容
cat /jianghe/test.conf 查看相應路徑下的test.conf
- rmdir (remove empty drectory) 刪除空目錄(用的極少)
- rm (remove) 刪除
rm -r /tem/ 刪除tem目錄(不加刪目錄會報錯) rm -f /tem/test.conf 強制test.conf文件(不需要確認) rm -rf /tem/ 強制刪除tem目錄 rm -rf /tem/* 強制刪除tem下的所有文件
- cp(copy) 拷貝
cp -r 復制目錄(不加復制文件會報錯) cp -p 復制帶文件屬性 cp -d 若文件是鏈接文件則復制連接屬性 cp -a 相當于 -pdr cp /tem/test /jianghe/dir1/ 復制test文件到/jianghe/dir下 cp /tem/test /jianghe/dir2 復制test文件到/jianghe下改名叫dir2
- ll (等于ls -l) 目錄下詳細信息
- mv(move)剪切或改名(源文件和目標文件在同一個目錄下是改名 源文件和目標文件不在同一個目錄下是剪切)
mv jianghe/dir1/ jianghe/dir2/ 將jianghe/dir1/文件剪切到jianghe/dir2/目錄下 mv zhangsan lisi 將zhangsan文件改名為lisi
- ln(link)鏈接(原文件路徑必須使用絕對路徑)
ln -s 建立軟連接 ln -s /root/test /jianghe/dir1/test.soft 在/jianghe/dir1/下建立一個test.soft軟連接指向/root/test文件 ln /root/test /jianghe/dir1/test.hard 在/jianghe/dir1/下建立一個test.hard硬和/root/test文件擁有相同的inode和存儲block(/root和/jianghe在同一個分區下)
- 硬鏈接:同一個分區上擁有相同inode和相同存儲block的稱為硬鏈接(2硬鏈接指向是同一個存儲空間,因為指向的是同一個存儲空間所以不能跨分區設置,其次硬鏈接不能針對目錄設置)
- 軟鏈接:軟連接擁有自己的inode和block,軟連接文件權限第一位以l開頭,軟連接中只保存了源文件的inode和文件名(軟連接好比windows中的快捷方式或者是C中的保存指針的變量)
- locate 定位,搜索 模糊匹配(只能按照文件名搜索,centos7最小安裝默認沒有該命令可用yum install mlocate安裝,然后updatedb)
locate test 搜索文件名中包含test的文件
- 原理:去/var/lib/mlocate數據庫中搜索,并不是便利整個系統文件,但是mlocate文件一天才更新有所以當天新建的文件無法搜索到,可以手動執行updatedb更新mlocate數據庫,這樣就可以實時搜索到新建文件。
- whereis 搜索命令 搜索命令所在文件和幫助文檔
whereis -b nginx 只查找nginx可執行文件 whereis -m nginx 只查找nginx幫助文檔
- which 搜索命令 搜索命令所在位置和別名
which ll 搜索命令所在位置和別名(ll=ls -l --color=auto)
- find [搜索范圍] [搜索條件]
find / -name jianghe 在根下搜索文件名叫jianghe的文件 精確匹配,模糊查詢需要使用通配符(*任意字符 ?一個字符 []選擇中括號內一個字符進行匹配) find / -iname jianghe 不區分大小 find / -user root 按照所有者搜索 find / -nouser root 搜索沒有所有者的文件 find / -mtime +10 十天之前修改文件 find / -mtime 10 十天當天修改文件 find / -mtime -10 十天之內修改文件 find / -size 25k 等于25k的文件 find / -size -25k 小于25k的文件 find / -size +25k 大于25k的文件 find / -inum 231232 查找inode是231232的文件 find / -name jh -exec rm -f {}\; 先查找根目錄下jh文件讓后刪除它
- grep 搜索字符串
grep -v "jianghe" /data/log/ 在log下搜索不包含jianghe的所有行 grep -i "jiangHe" /data/log/ 在log下搜索包含jianghe的所有行(忽略大小寫)
- man(manual) 幫助命令(查看命令的幫助文檔)
man ls 查看ls幫助文檔
- zip 壓縮命令
zip /tem/test /data/ziptest 將test壓縮到/data下名為ziptest zip /tem/path /data/ziptest 將path目錄壓縮成/data下名為ziptest
- unzip 解壓縮壓縮命令
unzip -n /tem/ziptest -d /data/file 將ziptest解壓到/data下名為file(重名不覆蓋) unzip -v test.zip 查看壓縮文件但不解壓
- gzip 壓縮成.gz格式
gzip -c 源文件 壓縮成.gz格式輸出壓縮文件(源文件會消失) gzip -c 源文件 > 壓縮文件 輸出壓縮文件(源文件不會消失) gzip -r 源目錄 壓縮目錄
- gunzip 解壓縮.gz格式
gunzip -r 壓縮目錄 解壓縮目錄
- tar 壓縮解壓
tar -cvf 打包文件 源文件 #打包命令 tar -xvf 解打包文件 #解打包命令 tar -zcvf 壓縮文件 源文件1 源文件2 #壓縮成.tar.gz tar -zxvf 解壓文件 #解壓.tar.gz tar -jcvf 壓縮文件 源文件1 源文件2 #壓縮成.tar.ba2 tar -jxvf 解壓文件 #解壓.tar.ba2
- shutdown
shutdown -h now #關機 shutdown -r #重啟 shutdown -c #取消上一個命令
- logout 退出當前用戶
- mount(掛載命令)
mount -a #自動掛/etc/fstab配置文件的內容 #掛載光驅 mkdir /mnt/cdrom/ #建立掛載點 mount -t 文件系統 /dev/sr0 /mnt/cdrom/ #掛載光盤
- umount(卸載命令)
umount 設備文件名或掛載點
- w jianghe 查看jianghe用戶信息
- who 查看當前登錄用戶
- last 查看系統登錄信息
- alias 別名=‘原名’ 取別名
alias gameover=‘shutdown -h now’ 給shutdown -h now一個別名gameover
- unalias 別名 刪別名
unalias gameover 刪除gameover別名
- service network restart 重啟網絡服務
- firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效)永久打開80端口
- firewall-cmd --zone=public --list-ports 查看所有打開的端口
- firewall-cmd --reload 更新防火墻規則
- systemctl stop firewalld.service 關閉防火墻服務
- systemctl start firewalld.service 開啟防火墻服務
- echo $PATH 查看環境變量
- rpm -qa | grep vsftpd 查看是否安裝vsftpd
- ps -ef | grep nginx 查看nginx進程
- ps -ef | grep nginx 查看nginx進程
- kill -9 [PID] 根據pid殺進程
- groupadd dev 新建dev分組
- chgrp -R dev /root 修改目錄所有組
- useradd jianghe 新建jianghe用戶
- passwd jianghe 設置jianghe用戶密碼
- gpasswd -a jianghe dev 將jianghe用戶加入dev分組
- chmod 775 /data 設置/data目錄權限為775也就是(drwxrwxr-x)
shell快捷鍵:
- ctrl+l 清屏
- tab 補全
- 2下tab 顯示文件列表
- ctrl+u 清行
- ctrl+a 行頭
- ctrl+e 行尾
- ctrl+z 暫停當前進程(進程掛起)