1. 程式人生 > >Linux基本的命令

Linux基本的命令

0、Linux目錄所放的檔案解釋    1)/etc/default/useradd  新增使用者的配置檔案     2)/etc/passwd  使用者屬性,所有的使用者資訊     3)/etc/shadow  使用者的密碼檔案,安全使用者賬戶資訊     4)/etc/shells  指定了當前環境可以用的安全的環境變數     5)/etc/login.defs 儲存新增使用者的一些預設值,安全密碼套件     6)/etc/group 組賬戶資訊     7)/etc/gshadow 安全組賬戶資訊     8)/dev/null 黑洞檔案 #id user1 &> /dev/null   //執行結果不需要
    9)~/.bash_history  存放history命令     10)/var/log/wtmp 存放使用者登入歷史及重啟歷史     11)cat /proc/partitions 存放檔案分割槽的資訊           當修改完分割槽之後,這個檔案可能不會立即更新,執行#partprobe 命令,重讀分割槽內容,寫入到這檔案 之中     12)/etc/fstab 包含了你的電腦上的儲存裝置及其檔案系統的資訊         os在初始化的時候,會自動掛載此檔案中定義的每一個檔案系統         掛載裝置的時候,也可以把所要掛載的檔案系統,寫入到這個檔案中去,再執行#mount -a 就ok了
    13)/etc/sysconfig/network-scripts/ifcfg-ens33  網路的配置檔案     14)/proc 資料夾裡面的以數字命名的資料夾對應的是每一個程序     15)/var/log/messages 系統標準錯誤日誌資訊:非核心產生引導資訊,各子系統產生的資訊     16)/etc/logrotate.conf 存放管理日誌資訊的檔案     17)/etc/log/maillog 郵件系統產生的日誌資訊     18)/var/log/secure 使用者登入產生的日誌資訊     19)/etc/redhat-release 存放centos版本資訊 1、使用者管理
    1)新增使用者         首先獲得管理員許可權         #su         然後新增使用者,設定密碼         # useradd nii         # passwd nii     2)使用者管理命令:         useradd : 新增使用者             -c : 添加註釋             -d : 設定家目錄             -s : 指定shell的路徑(shell必須合法)             -g : 基本組             -G : 附加組             -M : 不為使用者建立家目錄         userdel : 刪除使用者,預設不刪除家目錄             -r : 刪除家目錄 passwd :給使用者設定密碼             -d    刪除使用者的密碼, 只有具備超級使用者許可權的使用者方可使用             -n    修改密碼的最小天數,也就是mindays內不能再次修改密碼             -x    修改密碼的最大天數,也就是maxdays天之後必須修改密碼             –stdin   從標準輸入中讀入新密碼(此時可以看見設定的密碼)         usermod : 修改使用者賬號         id : 顯示指定使用者或當前使用者(當未指定使用者時)的使用者與組資訊         chsh : 更改使用者的shell             -s : 指定使用者登入的shell           #chsh -s /bin/csh             -l : 顯示/etc/shells中的shell列表   #chsh -l         chage : 密碼失效是通過此命令來管理的             -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。        -M 密碼保持有效的最大天數。        -W 使用者密碼到期前,提前收到警告資訊的天數。        -E 帳號到期的日期。過了這天,此帳號將不可用。        -d 上一次更改的日期        -I 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。        -l 例出當前的設定。由非特權使用者來確定他們的密碼或帳號何時過期     3)組管理命令:
        groupadd : 建立組             -g : 設定組 ID 值             groupdel,groupmod         gpasswd : 組管理命令             用法:gpasswd[-a user][-d user][-A user,...][-M user,...][-r][-R]groupname             -a:新增使用者到組             -d:從組刪除使用者             -A:指定管理員             -M:指定組成員和-A的用途差不多             -r:刪除密碼             -R:限制使用者登入組,只有組中的成員才可以用newgrp加入該組      4)許可權管理:ls -l 可以檢視檔案的許可權         chown : 只有管理員可以使用 (#chown file own)             -R : 修改檔案本身以及內部檔案的屬性             --reference=file1 file2  把file2的許可權改為和file1的許可權一樣             #chown -R admin.root /home/openstack/(改變一個檔案的屬主.屬組)         chmod(改變許可權)             chmod mode file/directory                 -R 修改檔案本身以及內部檔案的屬性                --reference=file1 file2  把file2的許可權改為和file1的許可權一樣         grammar:               chown root /u 將 /u 的屬主更改為"root"。               chown root:staff /u 和上面類似,但同時也將其屬組更改為"staff"。               chown -hR root /u 將 /u 及其子目錄下所有檔案的屬主更改為"root"。         mask(遮罩碼)             檔案的許可權:666-umask             目錄的許可權:777-umask             檔案預設沒有執行許可權。         chgrp:改變檔案的組所有權 example:
2、ls的用法 ls 直接顯示檔案     -l: 長格式顯示     -h: 做單位轉換     -a: 顯示以.開頭的隱藏檔案     -d: 顯示目錄自身屬性     -r: 逆序顯示     -i: 正序顯示,前面可以顯示inode號     -R: 遞迴顯示(recursive)         drwx------. 2 admin admin     23 6月  13 19:55 ssh-j777abtloqB1
        (drwx------)-- >檔案許可權,9位,每三位一組:rwx(可讀、寫、執行) rw-(可讀、可寫、不可執行)         (2)--> 是檔案硬連結的次數         (admin)-->檔案的屬主(owner)         (admin)-->檔案的屬組(group)         (23)-->檔案的大小(size),單位是位元組         (6月  13 19:55)-->時間戳,顯示最近一次修改的時間 3、type:顯示指定屬於哪種型別(內部、外部) 內部 外部 4、hash 快取 知道系統從啟動到現在一些指令所代表的路徑所用的次數 5、touch、stat命令和 最常用用法:touch fileA
如果fileA存在,使用touch指令可更改這個檔案或目錄的日期時間,包括存取時間和更改時間;
如果fileA不存在,touch指令會在當前目錄下新建一個空白檔案fileA。
stat 會獲得檔案的詳細資訊 6、cp與scp     1)scp複製檔案         scp local_file [email protected]_ip:remote_folder  
    2)scp複製目錄         scp -r local_folder [email protected]_ip:remote_folder       3)scp從遠端伺服器複製到本地伺服器          從遠端複製到本地的scp命令與上面的命令雷同,只要將從本地複製到遠端的命令後面2個引數互換順序就行了。     4)scp複製檔案或目錄改名字         scp local_file [email protected]_ip:remote_folder/new_name  
    5)cp與scp一樣 7、install命令       -d :建立目錄        和cp差不多的功能(man install)來檢視 8、獲得Linux當前最新的核心版本號和版本 核心: uname -a cat /proc/version uname -r 版本:  
cat /etc/redhat-release
8、檢視檔案的前幾行或者後幾行 head -n 5 file 檢視檔案的前5行,如果沒有(-n 5),則預設顯示前10行 tail -n 5 file檢視檔案的後5行,如果沒有(-n 5),則預設顯示前10行 tail -f :檢視檔案尾部,不退出,等待顯示後續追加至此檔案的新內容 9、cut用法(文字顯示剪下)     -d : 制定欄位分隔符,預設是空格     -f :制定要顯示的欄位         -f1第一個欄位         -f 1,3 顯示第一個和第三個         -f 1-3 顯示第一個到第三個     -b : 顯示位元組數     -c : 顯示字元 example:      cut -d : -f1 /etc/passwd 10、sort用法(文字顯示排序)
sort file     -n : 數值排序     -r : 逆序排序      -t : 欄位分隔符    sort -t : -k3  /etc/passwd      -k : 以哪個欄位為準,來進行比較     -u : 重複的,只顯示一次  sort -u a.c 11、uniq的用法(從輸入檔案或者標準輸入中篩選相鄰的匹配行並寫入到輸出檔案或標準輸出)
 -c, --count           在每行前加上表示相應行目出現次數的字首編號
    -d, --repeated        只輸出重複的行
    -D, --all-repeated[=delimit-method    顯示所有重複的行
    -f, --skip-fields=N   比較時跳過前N 列
    -i, --ignore-case     在比較的時候不區分大小寫
    -s, --skip-chars=N    比較時跳過前N 個字元
    -u, --unique          只顯示唯一的行
    -z, --zero-terminated 使用'\0'作為行結束符,而不是新換行
    -w, --check-chars=N   對每行第N 個字元以後的內容不作對照
12、wc的用法(文字統計命令)
    wc - print newline, word, and byte counts for each file
    下面顯示的是(行數、字元數、位元組數),檢視幫助可以只顯示某一個數值
 -c, --bytes列印位元組數
    -m, --chars  列印字元數 
    -l, --lines  列印行數 
    -L, --max-line-length  列印最長行的長度
    -w, --words 列印單詞數
13、tr的用法,實現字元轉換(從標準輸入中替換、縮減和/或刪除字元,並將結果寫到標準輸出。)
    tr ‘ab’ ‘AB’ file  將檔案裡面的小寫a、b,換為A、B 14、命令列跳轉     Ctrl+a : 跳到命令列首     Ctrl+e :跳到命令列尾     Ctrl+u :刪除游標到命令列首的內容     Ctrl+k :刪除游標到命令列尾的內容 15、history(檢視歷史)     -c 刪除所有條目從而清空歷史列表。     -d 偏移量 從指定位置刪除歷史列表。      -a 將當前繪畫的歷史行追加到歷史檔案中     -n 從歷史檔案中讀取所有未被讀取的行     -r 讀取歷史檔案並將內容追加到歷史列表中     -w 將當前歷史寫入到歷史檔案中  並追加到歷史列表中      -p 對每一個 ARG 引數展開歷史並顯示結果 而不儲存到歷史列表中      -s 以單條記錄追加 ARG 到歷史列表中 echo $HISTSIZE 可以檢視history預設儲存的條數,預設為1000(環境變數) !n : 執行命令歷史中第n條的命令 !-n : 執行命令歷史中倒數第n條命令 !! : 執行上一條命令 16、alias(命令別名)     alias cls=clear     alias rm='rm -i'  取消別名:     ualias cls 環境變數存放在/etc/bashrc檔案中(全域性)
    1)用vim /etc/bashrc開啟bashrc檔案     2)在最後一行新增alias cls=clear,儲存退出     3)執行source ~/.bashrc命令,來生效,這樣所有登陸的使用者都可以使用cls這個命令了 環境變數存放在/etc/bashrc檔案中(自己使用者)
    1)執行 #cd ~ 切換到自己使用者的根目錄下面 /home/user_directory     2)vim .bashrc 在後面一行加上cls=clear     3)儲存退出就ok了,該使用者就可以使用cls命令了 16、命令替換:$(COMMAND)(引用命令) ${Enveionment}(引用變數) 例如:echo "The directory is $(pwd)" 輸出:The directory is /home/admin/test 例如(建立一個檔案,檔名裡面包含當前時間):touch file-$(date +%F-%H-%M-%S).c 產生一個檔案:                            file-2015-06-15-14-51-03.c 16、萬用字元的使用(man 7 glob)可以檢視幫助文件
    * : 統配任意長度的任意字元     ? : 任意匹配單個字元     []: 匹配製定範圍內的任意單個字元          [abc],[a-z],[0-9],[0-9a-zA-Z]          [:space:] 空白字元          [:punct:] 標點符號          [:lower:] 小寫字母          [:upper:] 大寫字母          [:alpha:] 大小寫字母          [:digit:] 數字          [:alnum:] 數字和大寫字母     [^]:匹配指定範圍之外的任意單個字元             examle:     1)顯示以a或m開頭的檔案   ls [am]*     2) 顯示所有檔名包含數字的檔案: ls *[0-9]*     3) 顯示檔案中包含非字母或數字的檔案 ls *[^[:alnum:]]* warning: 有時候萬用字元不能完全匹配到所需要的檔案,就需要正則表示式來匹配 16、which、whereis、locate、find命令區別
    1)which  檢視可執行檔案的位置         是通過PATH環境變數到該路徑下查詢可執行檔案,所以基本的功能是尋找可執行檔案         grammer: which passwd(which 可執行檔案的名稱)     2)whereis 檢視檔案的位置          grammer:  whereis passwd (whereis 檔案或目錄名稱)         -b : 只找二進位制檔案
        -m: 只找在說明檔案manual路徑下的檔案
        -s : 只找source原始檔
        -u : 沒有說明文件的檔案
    3)locate 配合資料庫檢視檔案的位置     4)find 從磁碟上查詢     時間查詢引數:          -atime n :將n*24小時記憶體取過的的檔案列出來
        -ctime n :將n*24小時內改變、新增的檔案或者目錄列出來
        -mtime n :將n*24小時內修改過的檔案或者目錄列出來
        -newer file :把比file還要新的檔案列出來
    名稱查詢引數:
        -gid n       :尋找群組ID為n的檔案
        -group name  :尋找群組名稱為name的檔案
        -uid n       :尋找擁有者ID為n的檔案
        -user name   :尋找使用者者名稱為name的檔案
        -name file   :尋找檔名為file的檔案(可以使用萬用字元) 
17、frofile和bashrc介紹,及使用者登入讀取配置檔案的順序
profiles類檔案功能:     設定環境變數     執行命令或指令碼 bashrc類檔案功能:     設定本地變數     定義命令別名 bashrc,profile配置檔案所放位置:     全域性配置         /etc/profile, /etc/profile.d/*.sh, /etc/bashrc     個人配置:         ~/.bash_profile, ~/.bashrc 登陸式shell:     正常通過某終端登入     su -USERNAME 非登陸式shell:     su USERNAME     自動執行的shell指令碼 登陸式shell如何讀取配置檔案?     /etc/profile --> /etc/profile.d/*sh --> ~/.bash_profile -->~/.bashrc -->/etc/bashrc 非登入式shell如何讀取配置檔案?     ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh example:在bash_profile最後新增 echo "Welcome to come admin ,date id $(date)",則在進入該使用者的時候會提醒使用者。 18、IO重定向和管道
輸出重定向:     > : 覆蓋輸出  #ls /etc > a.txt     >>: 追加輸出  #ls /etc >> a.txt     2>:重定向錯誤輸出          當使用#ls /etcc >> a.tx               #cat a.txt 則會報錯     2>>:追加輸出     &>:重定向向標準輸出或錯誤輸出至同一個檔案     #set -C :禁止對以及存在的檔案使用輸出重定向         #ls /etc >| a.txt 強制覆蓋輸出     #set +C :關閉禁止覆蓋功能 輸入重定向:
 < : 輸入重定向符號     <<: 此處生成文件  #cat << EDN 管道:     | : 符號 19、tee(用來將標準輸入的內容輸出到標準輸出並可以儲存為檔案) -a 附加到檔案     -i 無視中斷 grammar: #tee file.c 20、grep 根據模式,搜尋文字,並將符合模式的文字顯示出來 基本正則表示式:  -i : 忽略大小寫 <