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 /
根目錄
cd
或cd ~
或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>
bye
或quit
退出
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
file
與ls -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 is
hostname"
echo "this is $(hostname)"
echo "Today is
date"
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用戶