在:提示符輸入
我們提供的服務有:成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、長興ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的長興網(wǎng)站制作公司
/-c (c后面有兩個空格),然后回車。
輸入n,跳到下一個,
輸入N,跳到上一個。
如果你想使用ksh作為你的默認shell 用chsh命令 格式 chsh [ -s shell ] [ username ]描述chsh 用來更換你登入時所用的shell 。在命令列沒指定shell。 chsh 會提示一個給你。 加入你的名字叫user 就這樣 chsh -s ksh user 就可以改變你默認的登陸shell了 其實bash比ksh強大很多了 否則也不會所有的linux發(fā)行版都用bash做默認shell了 學習的話 想用得時候直接運行ksh 就可以 退出的時候運行exit
grep命令:
grep命令是非常重要的命令,可以對文本進行查找和搜索
常用參數(shù)如下:
常用實例:
1、在多個文件中查找:
grep "file" file_1 file_2 file_3
2、輸出除之外的所有行 -v 選項:
grep -v "file" file_name
3、標記匹配顏色 --color=auto 選項:
grep "file" file_name --color=auto
4、使用正則表達式 -E 選項:
grep -E "[1-9]+"
egrep "[1-9]+"
5、只輸出文件中匹配到的部分 -o 選項:
echo this is a test line. | grep -o -E "[a-z]+."
line.
echo this is a test line. | egrep -o "[a-z]+."
line.
6、統(tǒng)計文件或者文本中包含匹配字符串的行數(shù)-c 選項:
grep -c "text" file_name
2
7、輸出包含匹配字符串的行數(shù) -n 選項:
grep "text" -n file_name
或
cat file_name | grep "text" -n
8、多個文件
grep "text" -n file_1 file_2
9、搜索多個文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
10、grep遞歸搜索文件
在多級目錄中對文本進行遞歸搜索:
grep "text" . -r -n
11、忽略匹配樣式中的字符大小寫:
echo "hello world" | grep -i "HELLO"
hello
12、選項 -e 指定多個匹配樣式:
echo this is a text line | grep -e "is" -e "line" -o
is
line
13、也可以使用 -f 選項來匹配多個樣式,在樣式文件中逐行寫出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索結果中包括或者排除指定文件:
只在目錄中所有的.php和.html文件中遞歸搜索字符"main()"
grep "main()" . -r --include *.{php,html}
15、在搜索結果中排除所有README文件
grep "main()" . -r --exclude "README"
16、在搜索結果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
touch abc.txt 創(chuàng)建一個名為abc.txt的文件
touch -r 指定文件時間與參考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件為指定的時間
touch temp 創(chuàng)建一個名為temp的文件
vi編輯器有三種模式,命令行模式、編輯模式、底行模式。
vi 文件名進入命令行模式,Insert進入編輯模式,編輯完成Esc退出編輯模式,:wq進入底行模式并保存修改,:q直接退出保存。
tar命令用于打包壓縮文件,常用的壓縮命令還有bzip2,gzip
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件
bzip2 file1 壓縮一個叫做 'file1' 的文件
gunzip file1.gz 解壓一個叫做 'file1.gz'的文件
gzip file1 壓縮一個叫做 'file1'的文件
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 創(chuàng)建一個叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 創(chuàng)建一個非壓縮的 tarball
tar -cvf archive.tar file1 file2 dir1 創(chuàng)建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件
tar -tf archive.tar 顯示一個包中的內(nèi)容
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 創(chuàng)建一個bzip2格式的壓縮包
tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 創(chuàng)建一個gzip格式的壓縮包
tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包
zip file1.zip file1 創(chuàng)建一個zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
which命令用于用戶查找命令所有路徑
命令格式
file命令用于獲取文件屬性
命令格式
file 文件名或目錄名
命令示例:
使用說明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 從第一個字節(jié)開始正向查看文件的內(nèi)容
-n 或 --number:由 1 開始對所有輸出的行數(shù)編號。
-b 或 --number-nonblank:和 -n 相似,只不過對于空白行不編號。
-s 或 --squeeze-blank:當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行結束處顯示 $。
-T 或 --show-tabs: 將 TAB 字符顯示為 ^I。
-A, --show-all:等價于 -vET。
-e:等價于"-vE"選項;
-t:等價于"-vT"選項;
使用示例
把 textfile1 的文檔內(nèi)容加上行號后輸入 textfile2 這個文檔里
cat -n textfile1 textfile2
把 textfile1 和 textfile2 的文檔內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 文檔里
cat -b textfile1 textfile2 textfile3
清空 /etc/test.txt 文檔內(nèi)容
cat /dev/null /etc/test.txt
tac [filename]
從最后一行開始反向查看一個文件的內(nèi)容,ac與cat命令剛好相反,文件內(nèi)容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫。
nl [-bnw] 文件
選項與參數(shù):
-b: 指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在熒幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的占用的位數(shù)。
more file1 查看一個長文件的內(nèi)容,支持一頁一頁翻動
運行的時候,支持以下幾個按鍵:
空白鍵 (space):代表向下翻一頁;
Enter :代表向下翻『一行』;
/字串 :代表在這個顯示的內(nèi)容當中,向下搜尋『字串』這個關鍵字;
:f :立刻顯示出檔名以及目前顯示的行數(shù);
q :代表立刻離開 more ,不再顯示該文件內(nèi)容。
b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
less file1 類似于 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
less運行時可以輸入的命令有:
空白鍵 :向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重復前一個搜尋 (與 / 或 ? 有關!)
N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
q :離開 less 這個程序;
head [-n number]
head -2 file1 查看一個文件的前兩行
tail [-n number]
tail -2 file1 查看一個文件的最后兩行
tail -f /var/log/messages 實時查看被添加到一個文件中的內(nèi)容
文件權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
所以修改權限可以分別修改或一同修改,系統(tǒng)中權限分為數(shù)字權限與字符權限
數(shù)字權限:r=4,w=2,x=1
字符權限:+ 增加 -去除 a取消所有加上給定的
修改權限的命令chmod,命令格式:
chmod 權限 文件名或目錄名 修改權限格式
chmod -R 權限 目錄名 遞歸將目錄及其下面所有內(nèi)容權限全部修改
chown 改變文件或目錄的屬主(所有者)
chown 用戶名 文件名或目錄名
chown 用戶名.組名 文件名或目錄名
修改所屬組也可用chgrp 命令來完成
當你用ls -l 查看到文件的屬主、屬組為數(shù)字時,就表明該文件的創(chuàng)建用戶已被刪除。
文件的特殊權限
chattr +i(-i) 文件名 鎖定文件(取消鎖定)不可刪除與清空
chattr +a(-a) 文件名 添加內(nèi)容(只可添加內(nèi)容)
使用lsattr 文件名 查看文件的特殊權限
由此可以看出
root用戶默認創(chuàng)建的目錄權限是755,文件權限是644
普通用戶默認創(chuàng)建的目錄權限是775,文件權限是664
這也是系統(tǒng)默認的比較安全的權限分配,其實這些默認權限全部都是由umask值來決定的
系統(tǒng)規(guī)定了
文件的權限值是從666開始計算(默認權限=權限值-umask值)
目錄的權限值是從777開始計算(默認權限=權限值-umask值)
文件1的權限=444 (666-232=434——43(3+1)4)
文件搜索命令(只能搜索文件)
locate 文件名
在后臺數(shù)據(jù)庫中按文件名搜索,搜索速度快????? /var/lib/mlocate(locate文件數(shù)據(jù)庫)??? 這個數(shù)據(jù)庫默認一天更新一次,強制更新命令:updatedb
按照/etc/updatedb.conf配置文件里面規(guī)則進行搜索
搜索命令的命令:whereis
whereis 命令名???????????????????????????????? 作用:搜索命令所在路徑及幫助文檔所在位置
-b(只查找可執(zhí)行文件)????? -m(只查找?guī)椭募?
which? 文件名??? 作用:搜索命令所在路徑及別名
PATH環(huán)境變量:定義的是系統(tǒng)搜索命令的路徑
find [搜索范圍] [搜索條件]
find? /root?? -nouser(搜索沒有所有者的文件)
find? /var/log? -mtime +10 (查找10天前修改的文件)??????????? atime(文件訪問時間)? ctime(改變文件屬性的時間)? mtime(修改文件內(nèi)容的時間)
find ? .? -size 25k(查找當前目錄等于25k的文件)???????????? find?? .?? -size?? +10M(查找當前目錄大于10M的文件)
find? /etc? -size +20k? -a? -size -50k (查找/etc下大于20k小于50k的文件)?????? -a(and)?? -o(or)
find? /etc? -size +20k? -a? -size -50k -exec ls -lh {} \; (查找/etc下大于20k小于50k的文件,并顯示詳細信息)?《Linux就該這么學》 一起學習更多命令
ls -i 文件名(查看該文件的i節(jié)點)
grep [選項] 字符串 文件名
-i (忽略大小寫)?? -v(排除指定字符串)
Linux中的通配符:
*?? :匹配任意內(nèi)容?? ?? ? ?? :匹配任意一個字符 ? ? ?? [] ?? 匹配任意一個中括號內(nèi)的字符
日常我們開發(fā)時,我們會遇到各種各樣的奇奇怪怪的問題(踩坑o(╯□╰)o),這個常見問題系列就是我日常遇到的一些問題的記錄文章系列,這里整理匯總后分享給大家,讓其還在深坑中的小伙伴有繩索能爬出來。
同時在這里也歡迎大家把自己遇到的問題留言或私信給我,我看看其能否給大家解決。
在Linux中我們經(jīng)常需要查找一些文件或者根據(jù)文件內(nèi)容進行查找到底在哪些文件里面,這時就需要用到本節(jié)要講到的find命令了,這個命令可以讓我們進行查找到想要的文件,話不多說下面直接開始本節(jié)的干貨。
1、查找當前目錄下的指定文件(當前目錄向下無限極)
2、全文搜索符合于文件名的
3、不區(qū)分大小寫文件名的搜索
4、列出當前目錄及子目錄下的所有文件
5、查找近10天內(nèi)被更新過的文件(-ctime 天 -cmin分鐘 )
6、根據(jù)文件內(nèi)容查找文件
7、在特定文件類型下根據(jù)文件內(nèi)容查找文件
以上就是我整理的常用的查詢文件命令,整理出來供大家一起使用,有需要補充的歡迎在留言區(qū)進行留言補充,謝謝大家~~~
方法很多:
單個文件可以使用vi或vim編輯器打開日志文件,使用編輯器里的查找功能。在查看模式下,符號/后面跟關鍵字向下查找,符號?后面跟關鍵字向上查找,按n查找下一個,按N查找上一個。
多個文件可以使用grep命令,比如 grep ERROR /var/log/messages*。會把匹配到ERROR這個關鍵字的行和所在的日志文件直接輸出到屏幕。
還可以使用cat命令后面使用grep過濾等方法,不如上面兩個實用。上面兩個較常用。