linux常用命令筆記(二)

2020-03-18

一、echo
1、原文輸出,雙引號可加可不加
    echo "hello world"
    echo hello world
2、輸出變量的值
    echo $變量名
    echo $PATH   --輸出環境變量PATH的值
注意:linux環境變量的配置文件是:/etc/profile   ,只有root纔有權限寫入

 

二、head:

讀取文件頭部的信息,默認讀取頭10行
head 文件  ---讀文件的頭10行
head -5 文件  ---讀文件的頭5行

 


三、tail:

讀取文件尾部的信息,默認讀取10行
tail 文件  
tail -5 文件   

tail -f 文件  ---實時跟蹤文件尾部的最新內容,如果不想跟蹤,按ctrl+c退出即可

 

四、重定向:
1、輸入重定向:<   瞭解:  命令 < 文件名   ---將文件的內容輸入給命令     wc < hadoop.list
2、輸出重定向:還有一個新的功能---創建新文件
    (1): 標準輸出重定向    
        標準輸出:指的是命令正確運行的輸出結果
     > : 命令 > 文件名 --- 會前面命令的輸出結果寫入到文件中,如果文件不存在,會創建該文件後寫入命令的輸出內容,如果文件存在,會將文件中原來的信息清除掉之後將命令的輸出寫入
    >>:命令>> 文件名   ----與上面的命令一樣,只是當文件存在時,會在文件原來內容的後面追加寫入命令的輸出
    (2):標準錯誤輸出重定向
        標準錯誤輸出: 指的是命令沒有正確運行的報錯輸出
        2>:  與>一樣,會清除原內容再寫入
        2>>: 追加寫入
    (3)標準輸出和標準錯誤輸出重定向
        &>:會清除原內容再寫入
        &>>:追加寫入


五、ln:

創建鏈接, 是link的縮寫
語法:ln -s  【源文件或目錄的絕對路徑】 【鏈接路徑/鏈接名】
-s:代表創建的鏈接是符號鏈接 ,也叫軟鏈接  在ls -l 查看詳細列表時,文件類型會顯示爲l
如果不加-s,創建的鏈接叫硬鏈接,只能對文件創建,必須在同一分區 ,文件類型顯示爲-
注意:源文件和目錄一定要寫絕對 路徑,否則容易找不到。

 

六、history: 

查看當前用戶使用的所有歷史命令。
歷史命令有個數限制的,是環境變量HISTSIZE的值來決定的。
每個用戶的歷史命令保存在當前用戶家目錄下的.bash_history中。

 

七、useradd

添加用戶
用戶管理的一般是由root來進行操作的。
1、用戶帳號文件:/etc/passwd
root:x:0:0:root:/root:/bin/bash
hadoop:x:1001:1001::/home/hadoop:/bin/bash

該文件中的每一行都代表Linux上的一個用戶的信息,有7個字段組成,字段與字段之間以冒號分隔
第1個字段:登錄的用戶名
第2個字段: 密碼佔位符
第3個字段:用戶的uid,相當於用戶在linux系統上的唯一身份id
第4個字段:用戶的基本組id
第5個字段:用戶的全名
第6個字段:用戶的家目錄 、宿主目錄
第7個字段:用戶的登錄shell  默認的shell爲/bin/bash

語法:useradd [選項] 用戶名
useradd 用戶名  -- 用戶的所有屬性都使用的是默認值

ls -l 查看目錄的詳細格式說明:
-rw-------. 1 root root 1600 3月   9 21:37 anaconda-ks.cfg

第1個字段:
-rw-------:第1個字符代表是文件類型:-:普通文件   d:目錄文件   l:鏈接文件  b:塊設備文件   c:字符設備文件
            第2,3,4個字符代表文件屬主的權限    r:讀   w:寫   x:執行
      第5,6,7個字符代表文件屬組的權限   
     第8,9,10個字符代表文件其它用戶的權限
第2個字段:文件或目錄的深度
第3個字段:文件或目錄的屬主
第4個字段:文件或目錄的屬組
第5個字段:文件的大小
第6個字段:最後一修改時間
第7個字段:文件或目錄名

 

2020-03-25 

一、useradd:
用戶帳號文件:/etc/passwd
用戶密碼文件:/etc/shadow
1、創建用戶:
語法:useradd [選項] 用戶名
---創建用戶test1
useradd test1
//用戶test1的屬性都爲默認值:
    家目錄:/home/用戶名
    登錄shell: /bin/bash
    UID:系統指定
    添加一個與用戶名相同的組:test1  查看組信息:/etc/group
    在用戶的家目錄複製了一批文件:從/etc/skel目錄中複製來的。
        ~/.bash_profile: 用戶每次登錄時執行的文件,通常用來進行用戶環境變量的定義,注意:系統環境變量/etc/profile
        ~/.bashrc: 每次進入新的bash環境時執行
        ~/.bash_logout: 用戶每次退出登錄時執行

2、如果用戶指定屬性信息:
   -u: 指定UID
   -d:指宿主目錄或家目錄, 缺省的家目錄爲/home/用戶名
   -g:指定用戶的基本組名
   -G:指定用戶的附加組名
   -s:指定用戶的登錄shell
---創建用戶test2, 指定用戶UID爲888,基本組爲root組,登錄shell爲/bin/csh,指定家目錄爲/opt/aaa
 useradd -u 888 -g root -s /bin/csh -d /opt/aaa test2        

二、passwd:
1、如果是重置自己的密碼:
passwd
2、如果是設置指定用戶的密碼(root操作):
passwd 用戶名
3、鎖定/解鎖帳號密碼:當用戶密碼被鎖,該用戶就不能登錄到系統上
-l: 鎖定密碼
-u: 解鎖密碼
-S:查看用戶的帳號的狀態

三、id:查看用戶的身份標識
---查看指定用戶的身份標識
id 用戶名
---查看當前登錄用戶的身份標識
id

四、su:切換用戶
su 用戶名   //切換用戶身份,但是不更改當前工作目錄
su - 用戶名    //切換用戶身份,並且當前工作目錄會更改爲新用戶的家目錄

---當前登錄用戶是root, 切換到其它用戶下,不需要輸入密碼
su - 用戶名

---當有登錄用戶是普通用戶,切換到其它用戶下,都需要輸入密碼
su 用戶名
注意:如果是想切換到root身份下,也可以直接輸入su, 回車輸入密碼即可。

五、userdel:刪除用戶
userdel [-r] 用戶名
-r: 刪除用戶時將用戶的家目錄一併刪除

六、who查看連接Linux服務器的用戶信息

who
w

七、usermod:修改用戶的基本屬性:
-u: 修改用戶的uid
-d:修改用戶的家目錄
-s: 修改用戶的登錄shell
-g:修改用戶的基本組

usermod [選項] 用戶名

----修改test3用戶的登錄shell爲/bin/csh, 用戶基本組爲root
usermod -s /bin/csh -g root test3

八、用戶組管理
1、組管理文件:
/etc/group: 文件中存放在所有組的信息
---每一行都代表一個組的信息
test3:x:1002: 
字段1:組名p
字段2:密碼佔位符
字段3:組ID
字段4:加入該組的用戶列表

/etc/gshadow: 保存組帳號的密碼信息  ,一般情況下,是不對組設置密碼的。

2、groupadd:
語法:groupadd [-g gid] 組名
---創建一個組neu, 組id爲666
groupadd -g 666 neu

3、gpasswd: 添加/刪除組成員
語法:
gpasswd [選項] 組名
選項:
     -a: 向組內添加一個用戶
     -d: 從組內刪除一個用戶
     -M:定義組成員列表,以逗號分隔
4、groupdel:刪除組
groupdel 組名

5、groupmod:修改組
groupmod [選項] 組名
選項:
    -n: 修改組名
    -g: 修改組id

groupmod -n 新組名 舊組名
groupmod -g 新組id  組名

九、修改權限
格式一:
chmod [ugoa][+-=][rwx] [-R] 文件名或目錄

-R: 遞歸修改,會將目錄以及目錄下的所有文件和目錄的權限一併修改
u: 屬主
g: 屬組
o:其它用戶
a:所有用戶
+:增加權限
-: 減去權限 
=:重置權限
r: 讀
w; 寫
x: 執行

---修改當前目錄下文件ana.cfg的權限爲屬主讀寫執行,屬組讀寫,其它用戶爲讀
chmod u+x,g=rw,o=r ana.cfg
--修改當前目錄下文件ana.cfg的權限所有用戶都爲讀寫
chmod a=rw ana.cfg
---遞歸修改當前目錄下aaa目錄以及子目錄子文件的權限都爲所有用戶讀寫執行
chmod -R a=rwx aaa

格式二:
chmod nnn [-R] 文件名或目錄名
第一個n: 屬主的權限值
第二個n:屬組的權限值
第三個n:其它用戶的權限值

讀: 4
寫: 2
執行: 1

讀寫執行:4+2+1=7
讀寫: 4+2=6
---遞歸修改當前目錄下aaa目錄以及子目錄子文件的權限都爲所有用戶讀寫執行
chmod -R 777 aaa
---修改當前目錄下文件ana.cfg的權限爲屬主讀寫執行,屬組讀寫,其它用戶爲讀
chmod 764 ana.cfg

十、修改屬主和屬組
格式:
  chown 屬主 [-R] 文件或目錄
  chown :屬組 [-R] 文件或目錄
  chown 屬主:屬組 [-R] 文件或目錄


---修改當前目錄ana.cfg 屬主爲test2, 屬組爲neusoft
chown test2:neusoft ana.cfg
-修改當前目錄下的aaa目錄以及子目錄子文件的屬主爲test2, 屬組爲neusoft
 chown test2:neusoft -R aaa
 

 2020-04-01

一、find:查找文件或目錄的位置
    有一個相似的命令:which   ---查找命令程序的位置,查找範圍是$PATH環境變量中所列出的路徑。
語法:find [查找範圍] [查找條件選項]
    查找範圍:
    /: 在整個linux系統中進行查找
    /etc: 查找配置文件時指定的路徑
    查找條件:
    -name: 指定文件或目錄名    文件名可以模糊查找,*:代表任意字符
    -user:按文件或目錄屬主
    -size: 按文件的大小   +:大於    -:小於   省略:等於
    -type: 按文件類型    f: 普通文件    d: 目錄文件    l: 鏈接文件   b: 塊設備文件   c:  字符設備文件

二、|:管道符
前一個命令的輸出是後一個命令的輸入。

ls -R / | more     ---將查找根目錄以及子目錄的列表分頁顯示

三、grep: 
語法1:
    grep [選項] 查找的字符串 文件名
    選項:-n   ---會顯示對應的行號
    查找的字符串: 用雙引號引起來 ,  “^str”---以str開頭的     ,"str$" ----以str結尾的,  “str”---包含str的

比如:
     grep -n "a$" anaconda-ks.cfg
    grep -n "^a" anaconda-ks.cfg

語法2:
    命令 | grep  [選項] "查找字符串"
    比如: ls -a | grep ".bash"
               cat anaconda-ks.cfg | grep "install" | grep "Use" | grep "CDROM"


四、which: 查找外部命令程序文件的位置
查找範圍是$PATH環境變量所設置的路徑


五、gzip/gunzip:壓縮和解壓.gz包
特點注意:一個壓縮包只能壓縮一個文件
    只能壓縮文件不能壓縮目錄
    壓縮後原文件不保留
    解壓後壓縮文件不保留

     gzip ana.cfg
    gunzip ana.cfg.gz

所以:因爲這些限制,該命令一般不單獨使用。

六、zip/unzip: 壓縮和解壓.zip包
zip [-r] 壓縮包名.zip 要壓縮的目錄或文件的列表
unzip [-d 目標解壓目錄] 壓縮包名.zip

 zip -r rootlist.zip aaa ana.cfg anaconda-ks.cfg initial-setup-ks.cfg 文檔
 unzip -d ./new rootlist.zip

七、tar: 壓縮和解壓.tar 和.tar.gz包
壓縮.tar
     tar -cvf 壓縮包名.tar 壓縮的文件或目錄列表
壓縮.tar.gz
    tar -zcvf 壓縮包名.tar.gz 壓縮的文件或目錄列表
解壓.tar:
    tar -xvf  壓縮包名.tar [-C 目標解壓目錄]
解壓.tar.gz:
   tar -zxvf 壓縮包名.tar.gz [-C 目標解壓目錄]


 tar -cvf rootlist1.tar aaa *.cfg
 tar -zcvf rootlist2.tar.gz aaa *.cfg new
 tar -xvf rootlist1.tar -C test
 tar -zxvf rootlist2.tar.gz -C targz

八、df:查看硬盤的使用情況
df -h: 以易讀方式顯示硬盤各分區的空間佔用情況

-t: 查看指定文件系統的空間佔用情況
-T:在結果中顯示文件系統類型。
 df -t xfs -hT

九、free:查看linux內存的使用情況
free -h:以易讀方式顯示內存的空間佔用情況

十、mount/umount:掛載和卸載
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom    ---將虛擬機的光驅設備掛載到/mnt/cdrom目錄中
ls /mnt/cdrom     ---查看光盤中的內容
umount /mnt/cdrom   ---卸載掛載點

十一、ps:
ps -aux   : 查看CPU和內存的使用率
ps -ef:  查看 父子進程的關係 

十二:kill:殺掉進程
kill -9 進程號;


 

 

 

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