linux學習筆記-基礎部分

創建目錄 mkdir
創建文件 touch
刪除文件 rm   刪除目錄 rm -r  -f 表示強制刪除   常用rm -rf


cp 複製  複製目錄要 -i

mv 移動目錄  重命名。   rename 重命名。

文件查看命令: cat tac  less more head tail
這幾個的快捷鍵用的比較少。我主要用的是 回車鍵 空格鍵 還有方向鍵 查看。more  空格鍵分屏看  回車鍵 一行一行看less  B 上翻  f 下翻    空格  下翻  回車一 行 一行
/ 支持查看時搜索。 n向下翻 N向上

文件的目錄屬性。d目錄 - 文件或者執行程序  l 鏈接文件 b塊設備 (例如硬盤) c 串設備。鼠標 鍵盤類

chmod 更改文件 目錄權限
chown 更改文件或目錄的 所有者  或所屬組  chown  user:group  xxx
目錄默認權限 755 文件 默認644  usmask 022  

chattr 隱藏屬性。 chattr +a  文件不能修改  刪除 只能追加   chattr +a file   chattr -a file
                          chattr +i  不能修改 刪除。  chattr +i file chattr -i file
lsattr 能查看隱藏權限。 lsattr file

suid  sgid stick  這三個權限有點難。 只記得suid 用於能指向的二進制文件。 例如 passwd 能臨時擁有root的權限  

查找命令 : which whereis   能查找命令的絕對路徑
find    -name  -size  -user   -exec -xargs    -atime ctime mine 
例 find / -user zhangyong -size +100M -exec rm -rf {} \;
    find / -mtime +30 -type d -exec mv -r {} /tmp \;
     find /root/ -cmin -30 |xargs ls -l   

atime 執行過的 或者訪問過的時間

mtime 創建時間
ctime 修改過屬性 例如 屬主 權限時間。  atime 天數單位   amin 小時單位
stat 能看查看文件的三個屬性。 access  modify  change 
鏈接文件: 軟鏈接 ln -s  最好加絕對路徑。  硬鏈接 不用 -s  。 硬鏈接不能跨分區。只能用在文件,indoe         號 一樣。硬鏈接兩個文件能同時更新。

用戶名文件: /etc/passwd 
密碼文件:/etc/shadow
增加用戶: useradd  -g 指定用戶的組      -M 不創建用戶家目錄  -d 自定義家目錄  -G加入某附屬組
刪除用戶: userdel  -r  刪除用戶的家目錄

修改用戶屬性。 usermod  -g 組屬性   -u  uid 
讓某個用戶加入某個組   gpasswd  -a      -d 從某個組 刪除用戶

passwd 修改用戶密碼   passwd --stdin  明文修改密碼   可用於shell腳本里面。

su切換用戶。  su -  切換用戶的時候 切換用戶環境。

sudo  配置文件。直接用visudo 修改。 sudo -l  列出當前用戶的sudo權限。

df 查看已掛載的磁盤信息。

du 查看文件的使用情況。

fdisk -l 查看磁盤信息。  格式化磁盤。mkfs.ext4   
mount 掛載磁盤   umount 卸載磁盤。

/etc/fstab  分區表信息。   blkid  查看磁盤的uuid


vim  三種模式。 一般模式 光標移動。h左 j下 k上  l右                           yy複製 dd剪貼刪除  pp 粘貼     v可視化選擇。x刪除 y複製 d剪切刪除
                           x向後刪除一個字符  X向前刪除一個字符   dw 刪除一個單詞
i 插入 a 在光標後插入 A 在行尾插入
命令行模式 / name  ?name   搜索n向下  N向上翻  
                  :/ 1,10s/root/ROOT/   替換 每行第一個toot    加上g  全局替換。   加上 -c  有選擇替換
set nu 顯示行號。 set nonu 不顯示行號。


gzip 壓縮。 gzip finename     gunzip 解壓縮      gunzip filename.gz   
bzip2 壓縮    bzip2 filename      bunzip2             bunzip2 ffilename.bz2
xz 壓縮       xz filename              unxz                unxz filename.xz

tar -cvf  打包   tar -xvf 解包    -c  制定路徑
tar -zcvf  打包壓縮    tar -zxvf 解包   gzip    -tf 查看包內容
tar -jcvf                     tar -jxvf         bzip2            
tar -Jcvf                    tar -Jxvf            xz

shell編程入門: 1.特性   
!!表示上一條命令。  !n 表示執行第n條命令     !pwd   表示執行最近一條以pw開頭的命
alias 命令別名。unalias 取消別名。 當前用戶永久生效。vi  ~/.bashrc    全局。vi /etc/bashrc
重定向   : 正確重定向  >   錯誤重定向 2>   追加  >>     2>>      &> 正確 錯誤同時輸出。   &>> 正確錯誤 同時追加  
                命令 >>文件1  2>>文件2    把正確的追加到文件1   把錯誤的追加到文件2

變量
echo $PATH    env  列出系統預設的環境變量
                       set 列出系統預設 和自定義的變量
       變量配置文件:全局 /etc/profile    在末行加入  exprot  myname=zhangyong  然後運行 source /etc/profile
                                當前用戶:  ~/.bashrc 




多命令執行順序。 ;分號。 多命令順序執行  無邏輯關係。
                              &&   命令1&&命令2   邏輯與   1正確執行  2 執行      
                                                                              1不正確執行。 2不執行
                               ||    邏輯或    命令1 || 命令2     1 執行   2不執行
                                                                                 1不執行   2執行               

通配符   ?表示一個任意字符
               * 0個或任意多個字符
                [] 匹配括號任意一個字符  [abc]  可以是a  可以是c  可以是b
                [-]  一段範圍。    [^ ]   邏輯非


cat命令-d 後面制定分隔符 
-f 指定第幾段
-c 後面


sort 排序  -t 分隔符   -n 使用純數字排列   -r反向排序 
uniq 去重複  常用選項 -c 統計重複的行 把行數寫在前面。


tr 替換字符 
-d 刪除某個字符  -d後面跟要刪除的字符
-s  把重複的字符去掉。


split  切割文檔 
-b 按大小分割 單位byte
-l  按行數來分割文檔




grep 過濾
grep -n ‘root’ 過濾帶有root 的行
grep -n -v 'root'  過濾不帶root的行。  -v 取反
grep '[0-9]'   過濾帶有數字的行
grep -v '[0-9]' 過濾不帶數字的行
grep -v '^#'   過濾以#號開頭的行
grep -v '^$'  過濾所有空行
grep '^[a-Z]' 過濾字母開頭的行
grep '^[^0-9]'  過濾非數字開頭的行
grep 'r.t'   grep 'r*t'   過濾一個 或多個字符




sed 命令
sed -n '1.10'p 打印1到10行
sed -n '/root/'p    打印含有root 的行
-e 能實現多個任務
-i 能直接修改文件的內容
sed '/root/d' 刪除含有root 的行   d 刪除動作
sed '1,10s/root/ROOT/g'   1到10行的root替換成ROOT
sed 's/[0-9]//g'     刪除所有的數字
sed 's/[^0-9]//g'   刪除所有的非數字



awk 命令
awk -F : '{print $1}'
-F 指定分割符號   不用 -F 表示用空格做分隔符
awk  '/oo/'  test.txt  匹配oo的行
awk -F : '$1~/oo/' 1.txt   針對第一個$1 匹配。
條件操作符
==  >  < !=  >=   <=  
awk -F : '$3>="500"'   第三段大於等於500的行
awk -F : '$7!="/sbin/nologin"'  1.txt   第7段不等於/sbin/nologin 的行
NF 段數    NR 行數


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章