linux基础及常用命令的使用
linux系統(tǒng)是一個(gè)主要使用命令進(jìn)行日常工作的系統(tǒng),所以了解并熟練掌握常用命令的使用是進(jìn)入linux大門(mén)的基本,以下便是linux學(xué)習(xí)過(guò)程中學(xué)習(xí)的常用的命令的用法:
linux的日常管理工作一般有如下幾個(gè)部分,下面通過(guò)這幾個(gè)方面的管理工作來(lái)整理與其相關(guān)的常用命令;
一 ?shell的介紹
1.普通用戶(hù)需要直接使用計(jì)算機(jī)系統(tǒng)提供的功能,是非常困難的,因?yàn)橛?jì)算機(jī)系統(tǒng)能接收的指令和人發(fā)出的指令是不相同的,因此需要在計(jì)算機(jī)系統(tǒng)及用戶(hù)之間建立一個(gè)可以將相互的指令進(jìn)行“翻譯”的功能。shell就是一個(gè)人機(jī)交互的接口,用戶(hù)通過(guò)shell,可以完成與計(jì)算機(jī)的對(duì)話(huà)。
根據(jù)界面的不同,可將shell分為兩種,圖像化接口(GUI)和命令行接口(CLI);
常用圖形化接口(GUI)
Gnome、KDE、xfce
常用命令行接口(CLI)
bsh、csh、tcsh、ksh、bash、zsh
在linux中命令行接口shell的種類(lèi)非常的多,在大多數(shù)的linux的發(fā)行版本中默認(rèn)使用的shell是bash。
2.bash的基礎(chǔ)特性
2.1 命令歷史:
當(dāng)用戶(hù)在bash中輸入一個(gè)命令時(shí),shell會(huì)在環(huán)境變量中找到命令對(duì)應(yīng)的可執(zhí)行的文件,并提交給系統(tǒng)執(zhí)行,執(zhí)行完成后并將結(jié)果返回給用戶(hù),bash會(huì)將用戶(hù)執(zhí)行過(guò)的命令記錄在緩沖區(qū)中,以便下一次執(zhí)行此命令是可以更加快速的在緩沖區(qū)中找到,這種命令的記錄被稱(chēng)為命令歷史。
當(dāng)你在shell中輸入并執(zhí)行命令時(shí),shell會(huì)自動(dòng)把你的命令記錄到歷史列表中,一般保存在用戶(hù)主目錄下的.bash_history文件中。默認(rèn)保存1000條,你也可以更改這個(gè)值。
2.1.1 ?命令歷史管理:
命令歷史的管理,其實(shí)是對(duì)相關(guān)的環(huán)境變量的參數(shù)進(jìn)行調(diào)整,環(huán)境變量的調(diào)整分為三種,在/etc/profile文件中進(jìn)行修改對(duì)所有用戶(hù)永久生效、/home/USERNAME/.bash_profile文件中修改的設(shè)置對(duì)此用戶(hù)永久有效、使用”export 變量名=變量值“命令進(jìn)行修改對(duì)用戶(hù)當(dāng)前會(huì)話(huà)有效
設(shè)置命令記錄的相關(guān)環(huán)境變量:
HISTSIZE:命令歷史記錄的條數(shù);
HISTFILE:命令歷史文件路徑;
HISTFILESIZE:命令歷史文件大小;
2.1.2 ?查看及管理命令歷史的命令:
history :
命令常用選項(xiàng):
-c:清空緩沖區(qū)中的命令歷史;
-d #: 刪除歷史中指定的命令,#代表命令歷史列表中命令的號(hào)碼;
-a: 把緩沖區(qū)中新的命令歷史手動(dòng)追加到命令歷史文件中;
-r:將 histfiles 的內(nèi)容讀到當(dāng)前shell的緩沖區(qū)中;
-w:將當(dāng)前緩沖區(qū)中的命令歷史寫(xiě)入命令歷史文件中;
2.1.3 ?調(diào)用過(guò)去執(zhí)行過(guò)的命令:
!#:調(diào)用歷史中的第#條命令;
!!: 重復(fù)執(zhí)行上一條命令
!string:調(diào)用歷史中最近一個(gè)以string開(kāi)頭的命令;
2.1.4 ?調(diào)用過(guò)去執(zhí)行過(guò)的命令的最后一個(gè)參數(shù):
!$
ESC+.
2.2 命令補(bǔ)全(TAB鍵):
補(bǔ)全為兩種,命令補(bǔ)全及路徑補(bǔ)全;
命令補(bǔ)全時(shí),命令的搜索路徑為環(huán)境變量$PATH, 搜索后將結(jié)果以hash算法存入緩存中;
使用TAB鍵可以進(jìn)行補(bǔ)全,兩次TAB鍵將顯示以輸入的部分字符開(kāi)頭的所有命令,如果是路徑補(bǔ)全,使用方法相同;
使用命令補(bǔ)全,可以提升命令輸入的效率,也可以防止手動(dòng)輸入的失誤。
2.3 命令展開(kāi):
~: 展開(kāi)為當(dāng)前用戶(hù)的主目錄;
~USERNAME:展開(kāi)為指定用戶(hù)的家目錄;
{}:可承載一個(gè)以逗號(hào)分隔的列表,并其展開(kāi)為多個(gè)路徑;
2.4 命令的執(zhí)行結(jié)果
命令執(zhí)行成功:0
命令執(zhí)行失敗:1-255
bash使用特殊變量$?保存最近一條命令的狀態(tài)結(jié)果;
查看命令執(zhí)行的狀態(tài):
[root@localhost ~]# echo $?
2.5 命令別名
命令別名:命令的另一個(gè)引用名稱(chēng);
命令別名涉及到的兩個(gè)命令:
alias/unalias
alias: 查看所有已經(jīng)定義別名;
alias ALIASNAME=COMMAND:定義別名;
unalias ALIASNAME:撤銷(xiāo)定義的別名
例如:[root@localhost ~]# alias cls=clear ? ?將clear設(shè)置一個(gè)命令別名為cls的引用
[root@localhost ~]# unalias cls ? ? ?將設(shè)置的cls命令別名取消
兩種設(shè)置可以使用 alias 命令查看效果
如果別名同原命令名,想直接執(zhí)行原命令,則需使用\COMMAND
二 ?linux命令簡(jiǎn)介
1. linux命令分類(lèi):
1.1 內(nèi)部命令(shell的內(nèi)建命令)
1.2 外部命令 由第三方提供的工具類(lèi)程序
1.3 使用type可以查看命令的類(lèi)型
type命令的格式: type [COMMAND]
例如:[root@localhost ~]# type cd
? cd is a shell builtin ? 顯示此信息說(shuō)明為shell的內(nèi)建命令,顯示結(jié)果如不是此信息則為外部命令
2. linux命令使用格式:
COMMAND [OPTION]... [ARGS]...
選項(xiàng):用戶(hù)啟用或關(guān)閉命令的某個(gè)或某些功能;
短選項(xiàng):-CHARACTER
-l, -h
Note: 多個(gè)短選項(xiàng)如果不合并,則彼此間要有空白字符分隔;可合并,合并時(shí)使用一個(gè)-引導(dǎo),例如-lh;有些短選項(xiàng)自己也需要帶參數(shù),這叫選項(xiàng)參數(shù);
長(zhǎng)選項(xiàng):--word
--human-readable, --help
參數(shù):命令的作用對(duì)象;
?向命令提供數(shù)據(jù);
3. 外部命令路徑位置查看工具:
which:
which [options] [--] programname [...]
--skip-alias:禁止列出別名
whereis COMMAND:
顯示二進(jìn)制程序、源碼文件以及幫助手冊(cè)的路徑;
三 ?linux 命令的幫助
1. 命令的幫助參考
內(nèi)部命令: # help COMMAND
外部命令:
(1) 命令自帶的簡(jiǎn)單幫助
# COMMAND --help
# COMMAND -h
(2) 命令手冊(cè)頁(yè)
# man [CHPATER] KEYWORD
(3) 信息頁(yè)
# info COMMAND
(4) 程序自身的幫助文檔
README、INSTALL、Change
(5) 程序官方提供的Documentation
(6) 發(fā)行版官方提供的文檔
(7) Google,baidu搜索網(wǎng)絡(luò)提供的信息
2. man手冊(cè)的使用
2.1 man手冊(cè)有九種類(lèi)型,如下:
man1, ..., man9
man1: 用戶(hù)命令;
man2: 系統(tǒng)調(diào)用;?
man3:C庫(kù)調(diào)用;
man4: 設(shè)備文件及特殊文件;
man5: 配置文件格式;
man6: 游戲;
man7:雜項(xiàng);
man8: 管理命令;
2.2 使用whereis COMMAND 可以查看此命令有哪幾個(gè)類(lèi)型的man文件
例如:[root@localhost ~]# whereis uniq
uniq: /usr/bin/uniq /usr/share/man/man1/uniq.1.gz /usr/share/man/man1p/uniq.1p.gz
uniq 這個(gè)命令有man1 用戶(hù)命令使用的幫助文件;
2.3 man手冊(cè)的查看操作方法:
Space: 向文件尾部翻一屏;
b: 向文件首部翻一屏;
d: 向文件尾部翻半屏;
u: 向文件首部翻半屏;
Return:向文件尾部翻一行;
k或y:向文件首部翻一行;
#: 快速轉(zhuǎn)到第#行;
1G:回到第一行;
G:到最后一行;
q: 退出;
文本搜索:
/keyword:從當(dāng)前位置向尾部搜索
?keyword:從當(dāng)前位置向首部搜索
n:與命令方向相同
N:與命令方向相反
2.4 其它幫助方法
info命令:
info COMMAND
程序自身的幫助文檔:
/usr/share/doc/NAME-VERSION
程序官方文檔:
發(fā)行版的官方文檔:
四 ?linux目錄管理
1. linux的目錄結(jié)構(gòu)
linux使用根文件系統(tǒng)(rootfs)對(duì)目錄結(jié)構(gòu)進(jìn)行管理
linux的各發(fā)行版遵照LSB制定的FHS對(duì)目錄結(jié)構(gòu)進(jìn)行組織,其目錄的結(jié)構(gòu)及目錄的內(nèi)容如下:
/boot: 引導(dǎo)文件存放目錄,例如kernel(vmlinuz)、bootloader(grub, grub2);
/bin: binary,供用戶(hù)使用的基本的命令;OS啟動(dòng)即會(huì)用到程序;
/sbin:管理類(lèi)的基本命令;
/lib: 基本共享庫(kù);內(nèi)核模塊;
/lib64:x86_64系統(tǒng)的共享庫(kù);
/etc:配置文件目錄;
/home/USERNAME: 普通用主目錄的默認(rèn)位置;
/root: 管理員的主目錄;
/media:便攜式移動(dòng)設(shè)備;
/mnt:臨時(shí)文件系統(tǒng)掛載點(diǎn);
/opt: 可選目錄,第三方應(yīng)用程序的默認(rèn)安裝位置;
/dev:devices,設(shè)備文件
b:block devices,random access
c: character deivces,linear access
/proc:
偽文件系統(tǒng);用于輸出內(nèi)核與進(jìn)程的相關(guān)信息;
/sys:
偽文件系統(tǒng);
/srv:services,系統(tǒng)上運(yùn)行服務(wù)用到中間數(shù)據(jù);
/tmp:臨時(shí)文件目錄;
/usr:Universal Shared, Read-only data;
bin:保證系統(tǒng)提供基本功能;
sbin
lib
lib64
include: C程序的頭文件;header files
share:結(jié)構(gòu)化的獨(dú)立數(shù)據(jù)
doc, man
local:現(xiàn)在常用的第三方程序的安裝位置;
bin
sbin
lib
lib64
etc
share
/var:variable data files
cache:應(yīng)用程序緩存數(shù)據(jù)
lib:應(yīng)用程序的狀態(tài)信息數(shù)據(jù)
local:專(zhuān)用于為/usr/local下的應(yīng)用程序存儲(chǔ)可變數(shù)據(jù);
lock:鎖文件
log:日志文件
opt:專(zhuān)用于/opt
spool:應(yīng)用程序的數(shù)據(jù)池;
run:運(yùn)行中的進(jìn)程的相關(guān)數(shù)據(jù);通常用守護(hù)進(jìn)程 的pid文件;
/selinux
2. 目錄管理命令簡(jiǎn)介
2.1 cd (change directory)改變目錄
cd ~: 回主目錄
cd ~USERNAME:切換指定用戶(hù)的家目錄
cd -: 回到上一次所在目錄
例如:[root@localhost ~]# cd /etc/sysconfig/network-scripts/ ?切換當(dāng)前目錄為:/etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd ~ ?將當(dāng)前目錄切換為用戶(hù)的主目錄
[root@localhost ~]# cd - ? ? ?返回前一次的當(dāng)前目錄
2.2 pwd ?顯示當(dāng)前工作目錄
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts 是用戶(hù)當(dāng)前的工作目錄
2.3 ls ?列出指定目錄中的文件及目錄的信息
命令使用格式:ls [OPTION]... [FILE]...
-l:使用長(zhǎng)格式顯示目錄及文件的信息
例如:[root@localhost network-scripts]# ls -l /usr/share/doc/
drwxr-xr-x. ?2 root root 4096 Aug 21 03:55 abrt-2.0.8
d 為目錄型文件
rwxr-xr-x. 權(quán)限
2 ?被硬鏈接的次數(shù)
root root ?目錄的屬主和屬組
4096 ?目錄的大小(默認(rèn)為字節(jié))
Aug 21 03:55 ?被修改的時(shí)間戳
abrt-2.0.8 ?文件名
-d:顯示目錄自身屬性(跟-l選項(xiàng)同時(shí)使用)
-h: human-readable(將列出的文件或目錄大小以易讀的格式顯示,跟-l選項(xiàng)配合使用)
-a:顯示所有文件,包括.開(kāi)頭的隱藏文件
.: 當(dāng)前目錄
..: 父目錄
-r: reverse,逆序顯示
-R: recusive,遞歸
例如:[root@localhost ~]# ls -lh /boot
-rw-r--r--. 1 root root 105K Jul 24 00:13 config-2.6.32-573.el6.x86_64
drwxr-xr-x. 3 root root 1.0K Aug 21 03:59 efi
drwxr-xr-x. 2 root root 1.0K Aug 21 04:23 grub
-rw-------. 1 root root ?27M Aug 21 04:01 initramfs-2.6.32-573.el6.x86_64.img
-rw-------. 1 root root 5.2M Aug 21 04:23 initrd-2.6.32-573.el6.x86_64kdump.img
drwx------. 2 root root ?12K Aug 21 03:51 lost+found
-rw-r--r--. 1 root root 202K Jul 24 00:14 symvers-2.6.32-573.el6.x86_64.gz
-rw-r--r--. 1 root root 2.5M Jul 24 00:13 System.map-2.6.32-573.el6.x86_64
-rwxr-xr-x. 1 root root 4.1M Jul 24 00:13 vmlinuz-2.6.32-573.el6.x86_64
2.4 mkdir 創(chuàng)建目錄
命令使用格式:mkdir [OPTION] /PATH/TO/SOMEWHERE
常用選項(xiàng):-p:創(chuàng)建父目錄(如果創(chuàng)建目錄時(shí),上一級(jí)目錄不存在,則可以使用-p進(jìn)行遞歸創(chuàng)建)
?-v: 顯示創(chuàng)建過(guò)程
例如1:[root@localhost ~]# mkdir -pv /tmp/testmk/test1?
mkdir: created directory `/tmp/testmk'
mkdir: created directory `/tmp/testmk/test1'
例如2: [root@localhost ~]# mkdir -pv /tmp/mkdirkz/{x,y}_{m,n}
mkdir: created directory `/tmp/mkdirkz'
mkdir: created directory `/tmp/mkdirkz/x_m'
mkdir: created directory `/tmp/mkdirkz/x_n'
mkdir: created directory `/tmp/mkdirkz/y_m'
mkdir: created directory `/tmp/mkdirkz/y_n'
使用bash的命令展開(kāi)的特性,進(jìn)行批量的目錄創(chuàng)建
2.5 rmdir 刪除目錄?
命令使用格式:rmdir /PATH/TO/SOMEWHERE
此命令只刪除空目錄
2.6 tree 以樹(shù)形的方式列出指定目錄結(jié)構(gòu)
此命令如果系統(tǒng)中沒(méi)有,則需要自行安裝
命令使用格式:tree [OPTION]... [DIR]
選項(xiàng): -d:只列出目錄;
? -L level: 列出指定目錄的指定層數(shù)的文件和目錄;
? -f:以全路徑的方式列出
? -i:結(jié)合-f選項(xiàng)一起使用,列出目錄結(jié)構(gòu),但不顯示分支線
? -p:顯示權(quán)限
? -s:顯示文件大小
? -h:以易懂的方式顯示文件大小
五 ?linux文本文件操作
1. linux中文件的類(lèi)型
計(jì)算機(jī)的一切資源在linux中都是文件,所以在linux中有如下幾種文件類(lèi)型:
?-(f):普通文件
d: 目錄文件
b: 塊設(shè)備文件
c: 字符設(shè)備文件
l: 符號(hào)鏈接文件
p: 命名管道文件
s:套接字文件
2. linux中文件的時(shí)間戳類(lèi)型
構(gòu)成一個(gè)文件有兩種數(shù)據(jù),一種是存儲(chǔ)在文件的數(shù)據(jù)本身,另一種則是元數(shù)據(jù),元數(shù)據(jù)指的是文件的與屬性相關(guān)的信息
每個(gè)文件都有三個(gè)時(shí)間戳:
atime: 文件最近一次被訪問(wèn)的時(shí)間;
mtime: 文件最近一次被“修改”的時(shí)間;
修改指的是文件的數(shù)據(jù)本身被修改
ctime:文件最近一次被“改變”的時(shí)間;
改變指的是文件的元數(shù)據(jù)發(fā)生的變化
任何一個(gè)除ctime之外的時(shí)間戳發(fā)生變化,ctime時(shí)間也會(huì)相應(yīng)的發(fā)生變化,因?yàn)闀r(shí)間戳本身就是文件的元數(shù)據(jù)
3. 文件管理常用命令
cp ?復(fù)制制定的文件或目錄至指定位置
命令的使用格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用選項(xiàng):
-r, -R: 遞歸復(fù)制;
-d: 不跟蹤符號(hào)鏈接;
--preserve[=ATTR_LIST]:
mode, ownership, timestamps
context, links, xattr, all
-a: -dR --preseve=all
-i: interactive
-f: force
-v: 顯示過(guò)程
當(dāng)復(fù)制文件時(shí),目標(biāo)存在,為目錄,則復(fù)制至目標(biāo)目錄下
?目標(biāo)不存在,則以此文件名命名文件,并復(fù)制源文件的內(nèi)容
?目標(biāo)為文件且存在,則將內(nèi)容覆蓋為源文件的內(nèi)容
,且源有多個(gè),則目標(biāo)必須為目錄,如果目標(biāo)目錄中有相同的文件則覆蓋
當(dāng)復(fù)制目錄時(shí),目標(biāo)存在為目錄則疊加
? 目標(biāo)為文件則不能成功
??
mv ?移動(dòng)制定的文件或者目錄
如果移動(dòng)的源目錄及目標(biāo)目錄相同,則使用此命令的效果相同于重命名
命令使用格式:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用選項(xiàng):
-i:交互式
-f:強(qiáng)制
rm ?刪除指定的文件及目錄
命令使用格式?
rm [OPTION]... FILE...
常用選項(xiàng):
? ? -r:?
? ? -f:
? ? -i:
使用 rm -rf / ?命令,系統(tǒng)默認(rèn)會(huì)對(duì)/進(jìn)行特殊的對(duì)待
touch 管理文件的時(shí)間戳
命令格式: touch [OPTION]... FILE... 默認(rèn)將時(shí)間修改為當(dāng)前系統(tǒng)時(shí)間
-a: 只更新atime
-m: 只更新mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 不創(chuàng)建空文件
file 文件類(lèi)型查看
命令格式:file /PATH/TO/SOMEWHERE
stat 顯示文件及文件系統(tǒng)的狀態(tài)
命令格式:stat [OPTION]... FILE...
4. 文本文件查看工具
cat和tac
cat [OPTION]... [FILE]...
-n:顯示行數(shù)
-e: -vE
-E: 顯示行結(jié)束符
-v:顯示非打印字符
more, less
翻屏查看;
more [OPTIONS]... FILE...
-d: 顯示翻頁(yè)有退出提示
Space: 向后一屏;
Enter: 向后一行;
b: 向前一屏;
less [OPTION]... FILE...
文本搜索:
/KEYWORD 當(dāng)前位置至文件尾部
?KEYWORD 當(dāng)前位置至文件首部
n: 與命令方向相同的下一個(gè);
N:與命令方向相反的前一個(gè);
head和tail:
head [OPTION]... FILE
tail [OPTION]... FILE
-n # 顯示文件的前/后行數(shù)
-# 非標(biāo)準(zhǔn)寫(xiě)法
-c #: 顯示前/后#個(gè)字節(jié)
tail的專(zhuān)用選項(xiàng):
-f: follow 跟進(jìn)追加進(jìn)文件的行,常用于監(jiān)控日志
5. 文本文件的處理工具
wc:單詞數(shù)目統(tǒng)計(jì)命令
命令使用格式:wc [OPTION]... FILE...
-l: 顯示行數(shù)
-w: 顯示單詞數(shù)
cut:文件切割命令
cut OPTION... [FILE]...
-d: 指明分隔符;-d' ', -d:
-f:指明要顯示的字段
#:?
#-#:1-3
#,#: 1,3,7
sort:以文件中的字段為關(guān)鍵字,對(duì)文件進(jìn)行排序
sort [OPTION]... [FILE]...
-r: 逆序
-f: 忽略字符大小寫(xiě)
-u: 排序后去重
-t CHAR: 指明分隔符
-k #: 字段
-n: 表示以數(shù)值大小排序
uniq:報(bào)告或者忽略重復(fù)的行
uniq [OPTION]... [FILE]...
-c: 顯示每行重復(fù)的次數(shù);
-d: 只顯示重復(fù)過(guò)的行;
-u: 只顯示不曾重復(fù)的行;
六 ?簡(jiǎn)單系統(tǒng)設(shè)置命令
1. 時(shí)間及日期
RTC:RealTime Clock
System Clock:系統(tǒng)時(shí)鐘
date: 系統(tǒng)時(shí)間
clock, hwclock: 硬件時(shí)間
date:
date [OPTION]... [+FORMAT]:時(shí)間顯示
FORMAT
%F
%D
%T
%H
%M
%S
? ? ? ? date [MMDDhhmm[[CC]YY][.ss]]:時(shí)間設(shè)置
? ? ? ? hwclock
? ? ? ? -s: hctosys, 以硬件時(shí)鐘為準(zhǔn),調(diào)整系統(tǒng)時(shí)間同硬件;
? ? ? ? -w:systohc, 以系統(tǒng)時(shí)鐘為準(zhǔn)
? ? ? ? cal:
? ? ? ? cal [YEAR]
2. 查看當(dāng)前系統(tǒng)被使用的信息
whoami
who
w
3. 關(guān)閉及重啟計(jì)算機(jī)
關(guān)機(jī)或重啟
? ? 關(guān)機(jī):halt, poweroff, init 0, shutdown -h TIME
? ? 重啟:reboot, init 6, shutdown -r TIME
? ? shutdown?
? ? shutdown [OPTIONS...] [TIME] [WALL...]
? ? -r: 重啟
? ? -h: 關(guān)機(jī)
? ? --no-wall
? ? -c
TIME:
+m: 相對(duì)時(shí)長(zhǎng)之后執(zhí)行相應(yīng)操作;單位是分鐘;
HH:MM 絕對(duì)時(shí)間
七 ?bash的基礎(chǔ)特性(02)
(1) glob
文本名“通配”
*:匹配任意長(zhǎng)度的任意字符;
?:匹配任意單個(gè)字符;
a*b: aab, ab, a123b;?
a?b:?
[]: 匹配指定范圍內(nèi)的任意單個(gè)字符;
[0-9]
[^]:匹配范圍外的任意單個(gè)字符;
[^a-b]
字符集合:
[:lower:] ?表示所有小寫(xiě)字母
[:upper:] ?表示所有大寫(xiě)字母
[:alpha:] ?表示所有的字母
[:alnum:] ?字母和數(shù)字
[:digit:] ?表示所有數(shù)字
[:space:] ?表示空白字符
[:punct:] ?表示所有標(biāo)點(diǎn)符號(hào)
例如:ls /etc/[^[:alpha:]][:alpha:]*
ls /etc/[^a-zA-Z][a-zA-Z]*
表示為:顯示/etc/目錄下,以非字母開(kāi)頭,后面跟了一個(gè)字母及其它任意長(zhǎng)度任意字符的文件或目錄;
例如:[root@localhost tmp]# cp -r /etc/*.d /tmp/mageedu.com/
表示為:復(fù)制/etc目錄下,所有以.d結(jié)尾的文件或目錄至/tmp/mageedu.com目錄中;
(2) 組合鍵
Ctrl+l:清屏
Ctrl+a: 切換至命令行首
Ctrl+e:切換至命令行尾
Ctrl+c:取消命令執(zhí)行
Ctrl+u:刪除光標(biāo)所在處至行首的內(nèi)容;
Ctrl+k: 刪除光標(biāo)所在處至行尾的內(nèi)容;
(3) IO重定向和管道
程序:指令+數(shù)據(jù)
讀入數(shù)據(jù):Input
輸出數(shù)據(jù):Output
打開(kāi)的文件都一個(gè)fd:file descriptor
標(biāo)準(zhǔn)輸入:keyboard, 0, /dev/stdin
標(biāo)準(zhǔn)輸出:monitor, 1, /dev/stdout
標(biāo)準(zhǔn)錯(cuò)誤輸出:monitor, 2, /dev/stderr
I/O重定向:
輸入重定向
輸出重定向:
COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆蓋重定向;
>>:追加重定向;
set -C
如果覆蓋重定向目標(biāo)文件存在,則禁止執(zhí)行;
>|
set +C
錯(cuò)誤重定向:
2>:覆蓋
2>>:追加
同時(shí)重定向標(biāo)準(zhǔn)輸出流和錯(cuò)誤輸出流:
COMMAND > /path/to/file.out 2> /path/to/file.err
COMMAND > /path/to/file.out 2>&1
COMMAND &> /path/to/file.out
輸入重定向:
<
tr命令: 將set1 替換成 set2
tr [OPTION]... SET1 [SET2]
-d: 刪除字符 (刪除字符時(shí)只有一個(gè)字符集合)
例如:[root@localhost tmp]# ls /tmp | tr a-z A-Z
表示為: 顯示/tmp目錄下的文件和目錄,并且使用大寫(xiě)字母替換小寫(xiě)字母
Here Document:<<
cat >> /path/to/somefile << EOF
管道:
COMMAND1 | COMMAND2 | ... ?:將COMMAND1的結(jié)果輸送至COMMAND2的參數(shù)
轉(zhuǎn)載于:https://blog.51cto.com/velen38/1688199
總結(jié)
以上是生活随笔為你收集整理的linux基础及常用命令的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HDU 1867 A + B for y
- 下一篇: Javaweb中利用kaptcha生成验