您好,登錄后才能下訂單哦!
文檔查看(cat、more、less、head、taid)
cat
正序查看文件內容的。
tac倒序查看文件內容。
cat -A文字后邊會有結束符$
cat -n顯示行號
more
查看文件內容一屏一屏顯示
按空格鍵向下翻頁;ctrl+b 向上翻頁
less
跟more相似也是查看文件內容一屏一屏顯示按空格鍵翻頁,單功能機快捷鍵多。
j:向下 k:向上
ctrl+b向上翻屏 ctrl+f向下翻屏
g:定位到首行 G:定位到末行
/搜索關鍵字從前往后查看,按n鍵:向下搜索相同的字符 shift+n:向前看
?從后往前查看 n:向下 N:向上
q退出
head
查看一個文件的前十行
可以指定數字 例如:head -n 2 1.txt(文件名) 只看前兩行
tail
只看一個文件的最后十行
指定行數:tail -n 3 文件名 只看最后三行
tail -f 可以動態的去查看一個文檔(比如日志)默認的話只顯示最后十行按空格向下
ctrl+c退出來
chmod命令(用來更改權限的)
rwx r:可讀 w:可寫 x:可執行
r=4 w=2 x=1
rwx=7 r-x=5 r--=4 --x=1 rw-=6 例如:rwxr-xr-x=755
如何改,比如一個文件的權限為644把它改成700
用命令:chmod 744 1.txt(跟你要改的文件) -rw-r---r--(755) -rwx-------(744)
或者用這種方法:chmod u=rwx.g=.o= 2.txt
用英文表示u:屬主 g:屬組 o:其他人
命令:chmod -R 以遞歸的方式更改所有文件及子目錄
a 表示所有 chmod a+x 意思就是所有人加上可執行命令
umask
輸入umask你會看到系統的umask
是來決定默認的文件和目錄的權限的
更改方法:例如系統的umask號為0022 我們要改成0002 輸入:umask 002 更改(通常會省略前邊的0)
求目錄的權限:用777-umask 假如umask是022 求目錄權限:(rwxrwxrwx)減(----w--w-)=rwxr-xr-x=755
求文件的權限:用666-umask 假如umask是022 求文件權限:(rw-rw-rw)減(----w--w-)=rw-r--r--=644
原則:-(什么都沒有)減去r或者減去w或者減去x 他依然是什么都沒有
chown命令(用來更改屬主屬組的)
useradd用來創建用戶 groupadd創建組
!ls !意義是在命令歷史里邊以ls開頭的離我們最近的命令
history:命令歷史
例如:我們要改一下111.txt
chown users1 111.txt 改變用戶主
chgrp user1 改所屬組
chown :users1 111.txt 改變用戶組
chown root:root 111.txt 一起改變
chown -R root:root 改變所有目錄和文件的所屬主和所屬組
隱藏權限 lsattr、chattr
chattr 給一個文件或目錄增加權限
lsattr 查看一個文件或目錄的權限
chattr +a 文件+a權限你就不能對這個文件進行刪除或者更改內容更改名字,只能touch文件或者追加 (>>表示追加重定向) >表示重定向 目錄能追加能重定向能touch文件
chattr +i 文件加上i權限什么都不能更改更嚴謹,而目錄可以追加或者重定向 解除-i
lsattr -R逐層去查看子目錄
lsattr -d只查看這個目錄本身
特殊權限 set_uid
當普通用戶執行這個命令時它就會臨時擁有root用戶的身份
作用:保證普通用戶臨時擁有該命令所有者的身份臨時擁有
要給一個文件設置set_uid前提這個文件得是一個二進制文件(例如ls、passwd、跟1.txt文件設置是毫無意義的)文件還得可執行
怎么跟一個文件去授權set_uid?
例如我想跟ls -l /usr/bin/ls 加一個 用命令:chmod u+s /usr/bin/ls 如下圖:
我們先切換到普通用戶下 su - aming whoami看一下,現在用ls /root/命令是不行的
用命令chmod u+s /usr/bin/ls加上這個權限就可以查看了
但是權限沒變還是原來的只是臨時給予了root挺虎的身份也擁有了root用戶的權限
取消命令:chmod u-s /usr/bin/ls
set_uid只能作用在文件上
特殊權限set_gid
chmod g+s
這個權限位作用在組權限位上,原來是普通用戶擁有所有者的身份現在是普通用戶擁有所屬組的身份,它不僅可以作用在文件上還可以作用在目錄上。
在設置了gid之后你在這個目錄下邊創建子文件或目錄的時候子文件和子目錄的所屬組會跟父級目錄保持一致。如下圖:
去掉gid后:
作用在文件上時跟set_uid類似,可以讓執行這個文件的普通用戶臨時擁有所屬組的身份。
作用在目錄上時當你創建子目錄或者子文件的時候,創建的子目錄和文件的所屬組和該目錄的所屬組保持一致。
軟鏈接文件
軟連接命令:ln -s 形式:ln -s 要做的文件 目標地址
例如:把tmp下yun.log放到root下的111目錄
命令:ln -s /tmp/yum.log /root/111/yum.log 如下圖:
形式:左邊是源文件右邊是軟鏈接文件
不僅可以軟連接文件也可以軟連接目錄,并且可以跨區
硬鏈接文件
形式:ln 要做的文件 目標地址
含義:你創建了一個文件它與另一個文件的inode號一樣這兩個文件相互為硬鏈接文件
硬鏈接不會占用多余的空間,相當于一個文件的皮,每一張皮都指向了相同的inode號這個皮可以刪掉但不能全刪至少留一個
硬連接可以刪除因為他還有其他的文件使用了ionde號
硬鏈接刪不刪無所謂因為還有文件本身 軟連接刪除了文件本身也就刪除了
只支持對文件做硬鏈接,不支持對目錄做硬連接,只支持對文件并且不能跨區
find命令
http://man.linuxde.net/find 詳細介紹
-type<文件類型>:只尋找符合指定的文件類型的文件 f普通文件 l符號連接 d目錄 c字符設備 b塊設備 s套接字 pFifo
-mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
-mmin<分鐘>查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算
-size<文件大小>:查找符合指定的文件大小的文件;
-exec<執行指令>:假設find指令的回傳值為True,就執行該指令;
-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
搜索文件的命令,還有一些相似的命令如which它是在echo $PATH環境變量里邊找的
比如我想在etc下搜sshd_config
命令:find /etc/ -name "sshd_config"
也可以模糊搜索:find /erc/ -name "sshd*" 下圖:
只要目錄命令:find /etc/ -type d -name "sshd*"
只要文件命令:find /etc/ -type f -name "sshd*"
也可以不指定:find /etc/ -type d
-l 軟連接文件
find后邊跟路徑路徑后邊跟條件選項
stat 命令用來查看文件詳細信息的 如圖:
-atime 最近訪問時間
-mtime 最近更改時間
-ctime 最近改動時間
改文件的時間跟內容-mtime和-ctime都會跟著變動,只要你更改了文件的內容-ctime一定會變因為它記錄著文件的大小、時間、權限、所有者、所屬組。
如何看在一天內etc下發生過更改的文件?用命令:
find /etc/ -type f -mtime -1 +1是大于一天
上面的是并且的意思,還可以或者:-o
find / -type f -o -mtime -1 -o -name "*.conf"
找相同文件的硬鏈接:find / -inum 33583267
查看一小時以內變動的文件:find /root/ -type f -mmin -60
查看一個小時內變動的文件并把他們的詳細信息列出來:find /root/ -type f -mmin -60 -exec ls -l {} \;
查找文件并改名:find /root/ -type f -mmin -150 -exec mv {} {}.bak \;
第一個{}意思是這個文件原來的名字 {}第二個是要改的名字
大于十兆的文件并列出詳細信息:find /root/ -type f -size -10k -exec ls -lh {} \;
Linux和Windows相互傳送
需要安裝lrzsz包:yum install -y lrzsz
命令:sz 傳送給電腦 例如:sz 2.txt
命令:rz 從電腦往Linux傳 rz直接回車
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。