linux學(xué)習(xí)筆記

whoami當(dāng)前用戶名
who am i當(dāng)前用戶名 登陸的終端 當(dāng)前的日期和時間
who哪些用戶在系統(tǒng)上工作
w 比who更全面


users 所有用戶
tty 目前登陸系統(tǒng)所使用的終端


uname --help查看所有uname命令命令
uname --version
uname [-a|--all]所有信息
uname [-n|--nodename]所使用系統(tǒng)的主機名
uname [-s|--kernel-name]操作系統(tǒng)名
uname [-r|--kernel-release]操作系統(tǒng)發(fā)布版本信息
uname [-v|--kernel-version]
uname [-m|--machine]machine hardware name
uname [-p|--processor]processor type
uname [-i|--hardware-platform]
uname [-o|--operating-system]


date顯示系統(tǒng)日期和時間
cal 顯示本月日歷(calendar)
cal 7 2019 顯示2019年7月日歷
cal 2019顯示2019年日歷

clear清除終端窗口中的顯示

不能用root用戶直接telnet操作

#root用戶提示符
$普通用戶提示符
su命令(switch user)
su - root切換root用戶
su -默認切換到root
exit退出超級用戶


passwd修改密碼命令password

whatis who 命令who的作用概括

man -f who

who --help

man who 查看who命令幫助man(manual手冊)

info who 幫助更易理解


/etc系統(tǒng)主要配置文件
/tmp 臨時文件
/boot 系統(tǒng)內(nèi)核文件
/usr (unix sysytm resources)系統(tǒng)應(yīng)用程序和與命令相關(guān)的系統(tǒng)數(shù)據(jù)
/dev 系統(tǒng)設(shè)備
Lost+Found系統(tǒng)異常崩潰錯誤 肺然,系統(tǒng)將一些遺失的片段放入其中,系統(tǒng)自動過生成。
/var存放系統(tǒng)運行時經(jīng)常變化的文件十嘿,如log ,mail
/srv存放的所有與服務(wù)器相關(guān)的服務(wù)畅蹂,即一些服務(wù)啟動后楼誓,這些服務(wù)需要訪問的目錄丐怯。
/proc 虛擬文件系統(tǒng)户辞,常駐內(nèi)存中不占磁盤空間,存放系統(tǒng)運行所需的信息卧抗。
/lib 藤滥、usr/lib、usr/local/lib系統(tǒng)使用的函數(shù)庫社裆。程序運行中需要調(diào)用的庫函數(shù)


cd命令(change directory)
cd進入目錄
cd .當(dāng)前目錄
cd ..上一層目錄
cd /根目錄
cdcd ~cd $HOME切換到用戶家目錄
cd -切換到用戶之前的工作目錄


pwd
打印當(dāng)前工作目錄(print working directory

ls(list)
ls -a列舉所有文件及文件夾包括隱藏-a(all)
ls -l 列出非隱藏文件細節(jié)-l(long)
ls -R列出本目錄及子目錄內(nèi)容
ls -F 列出目錄中文件(可執(zhí)行文件(*)拙绊,目錄(/),超鏈(@))


mkdir(make directory)創(chuàng)建文件夾

> 重新創(chuàng)建創(chuàng)建文件

touch創(chuàng)建文件,如果不存在則創(chuàng)建泳秀,如果存在則更新時間戳

mkdir aa 創(chuàng)建文件夾aa
mkir -p aa/bb/cc不存在就創(chuàng)建
-p(parents)
>bb.txt每次都是重新創(chuàng)建創(chuàng)建文件bb.txt

ls -l /lib >cc.txt 創(chuàng)建文件cc.txt并把列舉lib下所有文件信息寫入

ls -lh文件大小變?yōu)槭煜し绞?code>-h(human)


cp(copy)

cp [options] [sources] [target]

cp -i|-r|-p|-f aa /home復(fù)制aa文件夾道home下
-i(interactive交互的)覆蓋時有提示信息
-r(recursive遞歸的)復(fù)制該目錄及該目錄下的全部內(nèi)容
-p(preserve維持)保留一些屬性如時間戳
-f(force強制)存在即直接覆蓋

普通用戶cp -f強制覆蓋
root用戶cp -i提示信息


mv(move)移動目錄及其目錄下的內(nèi)容

mv aa.txt bb.txt

rm(remove)刪除

rm -i|-r|-f
rm -r aa刪除aa及aa下的文件及目錄
rmdir只能刪除當(dāng)前空文件夾


yum install vsftpd
安裝vsftpd

service vsftpd status
systemctl status vsftpd 查看vsftpd服務(wù)狀態(tài)

service sftpd start
systemctl enable vsftpd開啟服務(wù)


ftp主機名|ip端口
ftp>
byequit退出

lcd查看和改變本地路徑
cd ls查看改變linux路徑

open主機|ip端口 建立一個新連接
切換模式
ascii純文本模式
bin二進制模式

put filename傳輸一個文件
mput file1 file2 傳輸多個文件

prompt開啟/關(guān)閉交互信息

get file
mget file1 file2從linux到windows


file查看文件類型标沪,linux擴展名并不代表文件類型

file aa
filels -F類似,只不過更詳細


cat瀏覽文件內(nèi)容(concatenate

cat -A|-s|-b file1 file2 把file1和file連接到一起顯示
-A顯示換行符
-s壓縮多個空行為一行
-b顯示行號

cat>file
you can to create a new file to use cat > command
創(chuàng)建一個file并寫入you can to create a new file to use cat > command 用ctrl+D保存結(jié)束


head -n|--line 10 file查看file的前10行
或者
head -10 file與上一樣


tail -n|--line 10 file 查看文件最后10行
tail -10 file

tail -f|--follow file動態(tài)監(jiān)控文件變化是顯示在屏幕上
tail -f log監(jiān)控log文件

wc (word count)查看文件行數(shù)晶默、單詞數(shù)、字符數(shù)
wc -l|-w|-c -l line -w word -c character


more如果一個文件較大用more查看
空格鍵:向下移動一屏幕
enter鍵:一次移動一行
B:向上移動一屏幕
H:幫助
/字符串:向下搜索這個字符串
N:字符串下一次出現(xiàn)
Q:退出more命令
V:在當(dāng)前行啟動vi


type -t|-a|-P ls
-t file為外部命令 alias為別名 builtin為bash內(nèi)置命令
-a列出包含指定命令的命令包括別名
-P顯示完整的文件名(外部命令)航攒,或者為內(nèi)部命令


linux中的通配符

*:匹配0個或多個字符
磺陡?:匹配一個字符
[a-z]:匹配a~z范圍內(nèi)的字符
[^a-z]:匹配a~z之外的字符
[abc]:匹配括號中的任意字符
[^abc]:匹配不包含括號內(nèi)的字符


~ 符號
~后面沒跟用戶 代表當(dāng)前用戶家目錄
~跟了用戶名 這個用戶的家目錄


history查看執(zhí)行命令的歷史
!行號 執(zhí)行該命 令

bash變量和{}用法

$PATH執(zhí)行命令時要搜索的路徑漠畜,即一個命令如果存儲在PATH的預(yù)定義變量用戶可以只輸入變量名來執(zhí)行命令
echo $PATH
$HOME用戶家路徑

{}
touch a.{b,c}.{txt,jpg}
則會創(chuàng)建 a.b.txt a.b.jpg a.c.txt a.c.jpg四個文件 其他命令使用{}也變得更方便币他。


講一個命令的輸出作為另一個命令的參數(shù)
hostname 主機名

echo "this ishostname"
echo "this is $(hostname)"
echo "Today isdate"
echo "Today is $(date)"


linux 命令數(shù)學(xué)運算

a=10;b=5,c=3

echo $[$a+$b]
echo $[$a-$b]
echo $[$a*$b]
echo $[$a/$b]
echo $[$a%$b]
echo $[$a**$c] 10的三次方


反斜杠\用法

\$a不作為一個變量輸出$a
\*不作為通配符輸出*
命令行最后使用\表示命令下一行繼續(xù)。

單引號(')與雙引號(")
1.單引號:禁止所有命令行擴展功能
2.禁止除下面意外的命令行擴展功能
美元符號$
倒引號 `
反斜杠 /
感嘆號 !


文件描述符
fd(file descriptor)

0:標準命令輸入 stdin
1:標準命令輸出 stdout
2:標準命令錯誤 stderr

ls -l /dev/std* 文件描述符與縮寫對應(yīng)關(guān)系查詢


使用find搜索文件和目錄
find pathnames expressions actions
pathnames:搜索起始絕對路徑或相對路徑
expressions:由一個或多個選項第一的搜索條件 多個選項關(guān)系時邏輯與(and)
-name:文件名憔狞,使用通配符時最好放入""內(nèi)
-size [+|-]n: 大小大于 +n 小于 -n 或等于 n ,n代表512字節(jié)大小數(shù)據(jù)塊的個數(shù)蝴悉。
-atime [+|-]n:查找訪問時間超過天數(shù) +n 低于 -n ,等于 n
-mtime [+|-]n:查找更新時間超過天數(shù) +n 低于 -n ,等于 n
-user loginID:查找屬于loginID(用戶)的所有文件。
-type:查找么某一類文件如f(文件)或d(目錄)
-perm:查找所有具有某些特定的訪問許可位的文件

actions:當(dāng)文件被定位之后需要進行的操作 默認將滿足條件的所有路徑打印在屏幕上瘾敢。
-exec 命令 {} ; :在每一個所定位的文件上運行指定的命令拍冠。大括號{}表明文件名將傳給前面表達式所表示的命令。
一個空格簇抵、一個反斜線和一個分號表示命令的結(jié)束庆杜。在反斜杠和大括號之間必須有一個空格。
-ok 命令 {} \;:在每個定位文件執(zhí)行命令之前需要確認碟摆。實際就是-exec 命令的交互方式晃财。
-print:打印路徑,默認方式
-ls: 顯示當(dāng)前路徑名和相關(guān)的統(tǒng)計信息典蜕,如i節(jié)點(inode)數(shù)断盛、以K字節(jié)為單位的大新尴础(尺寸)、保護模式钢猛、硬連接和用戶伙菜。

find / -name "java*" -ls查詢根路徑下的所有java開頭的文件或路徑的詳細信息


將輸出重定向到文件中
>:覆蓋原來的內(nèi)容。
>>:在原文件之后追加內(nèi)容厢洞。

切換普通用戶演示
find /etc -name passwd 1>stdout.txt
相同
find /etc -name passwd >stdout.txt

find /etc -name passwd 2>errout.txt輸出錯誤信息到errout.txt

find /etc -name passwd >allout.txt 2>&1標準輸出和錯誤輸出合并到一個文件
find /etc -name passwd &>allout.txt&代表了所有文件描述符號


輸入重定向及tr命令
tr (translate):轉(zhuǎn)換仇让、壓縮和/或刪除來自標準輸入的字符并將結(jié)果寫到標準輸出上
tr命令不接受文件名形式的參數(shù),該命令要求他的輸入被重定向為某個地方躺翻。

aa.txt
內(nèi)容AAAAA

tr 'A-Z' 'a-z' <aa.txt >bb.txt替換文件aa.txt中的大寫字母為小寫字母到bb.txt

windows 換行(回車符"\r"+換行符("\n"))
linux 換行(換行符("\n"))

tr -d "\r" <aa.txt>cc.txt刪除(-d)回車符(\r)
tr命令的參數(shù)部分也是可以使用ascii碼字符的八進制表示的數(shù)字如 \015 表示\r
man ascii查看ascii對應(yīng)信息


cut 剪切命令

cut -f|-d|-d file
-f:字段(列)
-c:要剪切的字符
-d:字段分隔符(默認Tab)
cut -f3 bb.txt列出第三個字段
cut -f2 -d, bb.txt l列出第二個字段以,分隔符 默認分隔符Tab字符

cut -c1-3 bb.txt從第一個字符取到第三個字符(按行壬ミ础)


paste 粘帖命令

user.txt
zlq,11,anhui
fsd,22,anhui
llx,33,fujian
koo,44,guangdong

[zlq@localhost test]$ cut -f1 -d, <user.txt >name.txt
[zlq@localhost test]$ ls
name.txt  user.txt
[zlq@localhost test]$ cat name.txt 
zlq
fsd
ssh
jjg
[zlq@localhost test]$ cut -f2 -d, <user.txt >age.txt
[zlq@localhost test]$ ls
age.txt  name.txt  user.txt
[zlq@localhost test]$ cat age.txt 
11
22
33
44
[zlq@localhost test]$ cut -f3 -d, <user.txt >addr.txt
[zlq@localhost test]$ ls
addr.txt  age.txt  name.txt  user.txt 
[zlq@localhost test]$ cat addr.txt 
anhui
anhui
hebei
beijing

[zlq@localhost test]$ paste name.txt addr.txt >nameaddr.txt
paste name.txt addr.txt >>nameaddr.txt區(qū)別
[zlq@localhost test]$ ls
addr.txt  age.txt  nameaddr.txt  name.txt  user.txt
[zlq@localhost test]$ cat nameaddr.txt 
zlq anhui
fsd anhui
ssh hebei
jjg beijing

col將tab替換成空格

[zlq@localhost test]$ cat -A user1.txt 
zlq^I11^Ianhui$
fsd^I22^Ianhui$
ssh^I33^Ihebei$
jjg^I44^Ibeijing$
[zlq@localhost test]$ col -x <user1.txt>user2.txt
[zlq@localhost test]$ cat -A user2.txt 
zlq     11      anhui$
fsd     22      anhui$
ssh     33      hebei$
jjg     44      beijing$

sort命令進行排序

sort [options] [filename]
-r: 反向排序(降序) reverse
-f:忽略字符大小寫 folds
-n:以數(shù)字順序進行排序 numeric
-u:去掉重復(fù)行 unique
-t: -tc表示以字符c作為分隔符
-k: kN表示按第N個字段排序 k N1,N2先按N1排序,如果重復(fù)按N2排序

sort -r name.txt

uniq命令去掉文件中相鄰的重復(fù)行

-c:行前顯示該行出現(xiàn)的次數(shù)
-d:只顯示重復(fù)行
-i:忽略字符大小寫
-u:只顯示出現(xiàn)一次的行公你。

sort -cid aa.txt 忽略大小寫顯示重復(fù)行踊淳。

管道(|)操作

命令1|命令2|.....
命令1的輸出作為命令2的輸入

cut -f1 -d: /etc/passwd |sort -r |more 查看linux系統(tǒng)所有用戶名

[root@localhost test]# ls
1.txt  3.jpg  4.txt  4.zip
[root@localhost test]# cat>delete_lists
1.txt
3.jpg
4.txt
4.zip
[root@localhost test]# cat delete_lists 
1.txt
3.jpg
4.txt
4.zip
[root@localhost test]# cat delete_lists |xargs rm -f
[root@localhost test]# ls
delete_lists

cat命令列出delete_lists文件名 xargs命令將由管道得來的文件名轉(zhuǎn)換成rm -f的參數(shù)列表

使用tee命令分流輸出
cut -f1 -d: /etc/passwd |tee passwd.cut |sort -r |tee passwd.sort |more

mail 發(fā)送電子郵件
mail -s "hello"用戶或郵箱
-s subject

ls -l |mail -s "list all" root列出本目錄下的文件發(fā)送給root用戶

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市陕靠,隨后出現(xiàn)的幾起案子迂尝,更是在濱河造成了極大的恐慌,老刑警劉巖剪芥,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垄开,死亡現(xiàn)場離奇詭異,居然都是意外死亡税肪,警方通過查閱死者的電腦和手機溉躲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來益兄,“玉大人锻梳,你說我怎么就攤上這事【煌保” “怎么了疑枯?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛔六。 經(jīng)常有香客問我荆永,道長,這世上最難降的妖魔是什么国章? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任屁魏,我火速辦了婚禮,結(jié)果婚禮上捉腥,老公的妹妹穿的比我還像新娘氓拼。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布桃漾。 她就那樣靜靜地躺著坏匪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪撬统。 梳的紋絲不亂的頭發(fā)上适滓,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機與錄音恋追,去河邊找鬼凭迹。 笑死,一個胖子當(dāng)著我的面吹牛苦囱,可吹牛的內(nèi)容都是我干的嗅绸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼撕彤,長吁一口氣:“原來是場噩夢啊……” “哼鱼鸠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起羹铅,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚀狰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后职员,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麻蹋,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年焊切,在試婚紗的時候發(fā)現(xiàn)自己被綠了扮授。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛛蒙,死狀恐怖糙箍,靈堂內(nèi)的尸體忽然破棺而出渤愁,到底是詐尸還是另有隱情牵祟,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布抖格,位于F島的核電站诺苹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏雹拄。R本人自食惡果不足惜收奔,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滓玖。 院中可真熱鬧坪哄,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至念祭,卻和暖如春兑宇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粱坤。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工隶糕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人站玄。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓枚驻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜒什。 傳聞我的和親對象是個殘疾皇子测秸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容