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 進程號;