前言
Linux 學(xué)習(xí)對于一個程序員的重要性是不言而喻的 。前端開發(fā)相比后端開發(fā),接觸 Linux 機(jī)會相對較少,因此往往容易忽視它 。但是學(xué)好它卻是程序員必備的修養(yǎng)之一 。
如果本文對你有所幫助,請點個 吧 。
作者使用的是阿里云服務(wù)器 ECS (最便宜的那種)7.7 64位 。當(dāng)然你也可以在自己的電腦上安裝虛擬機(jī),在虛擬機(jī)中再去安裝系統(tǒng)(這就完全免費了) 。至于它的安裝教程可以去谷歌搜索下,相關(guān)教程非常多 。
Linux 基礎(chǔ)操作系統(tǒng)
操作系統(tǒng)簡稱 OS,是軟件的一部分,它是硬件基礎(chǔ)上的第一層軟件 , 是硬件和其它軟件溝通的橋梁 。
操作系統(tǒng)會控制其他程序運行,管理系統(tǒng)資源,提供最基本的計算功能,如管理及配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序等 , 同時還提供一些基本的服務(wù)程序 。
image.png
什么是系統(tǒng)內(nèi)核與 Linux 發(fā)行套件的區(qū)別
總結(jié):真正的 Linux 指的是系統(tǒng)內(nèi)核 , 而我們常說的 Linux 指的是“發(fā)行版完整地包含一些基礎(chǔ)軟件的操作系統(tǒng)” 。
Linux 對比 穩(wěn)定且有效率;免費(或少許費用);漏洞少且快速修補;多任務(wù)多用戶;更加安全的用戶與文件權(quán)限策略;適合小內(nèi)核程序的嵌入系統(tǒng);相對不耗資源 。Linux 系統(tǒng)種類終端連接阿里云服務(wù)器
通過執(zhí)行 ssh root@121.42.11.34 命令,然后輸入服務(wù)器連接密碼就可以順利登陸遠(yuǎn)程服務(wù)器 。從現(xiàn)在開始我們就可以在本地電腦上操作遠(yuǎn)程服務(wù)器 。
這個黑色的面板就是終端也就是 Shell (命令行環(huán)境) 。ssh root@xxx 這是一條命令,必須要在 Shell 中才能執(zhí)行 。Shell
Shell 這個單詞的原意是“外殼”,跟 (內(nèi)核)相對應(yīng) , 比喻內(nèi)核外面的一層 , 即用戶跟內(nèi)核交互的對話界面 。
Shell 的種類
Shell 有很多種 , 只要能給用戶提供命令行環(huán)境的程序,都可以看作是 Shell。
歷史上,主要的 Shell 有下面這些:
其中 Bash 是目前最常用的 Shell。MacOS 中的默認(rèn) Shell 就是 Bash。
通過執(zhí)行 echo $SHELL 命令可以查看到當(dāng)前正在使用的 Shell。還可以通過 cat /etc/ 查看當(dāng)前系統(tǒng)安裝的所有系統(tǒng) Shell 種類 。
命令命令行提示符
進(jìn)入命令行環(huán)境以后,用戶會看到 Shell 的提示符 。提示符往往是一串前綴,最后以一個美元符號 $ 結(jié)尾 , 用戶可以在這個符號后面輸入各種命令 。
執(zhí)行一個簡單的命令 pwd :
[root@iZm5e8dsxce9ufaic7hi3uZ ~]# pwd/root復(fù)制代碼
命令解析:
關(guān)于如何創(chuàng)建、切換、刪除用戶,在后面的用戶與權(quán)限會具體講解,這里先使用 root 用戶進(jìn)行演示 。
[備注] root 是超級用戶,具備操作系統(tǒng)的一切權(quán)限 。
命令格式
command parameters(命令 參數(shù))復(fù)制代碼
長短參數(shù)
單個參數(shù):ls -a(a 是英文 all 的縮寫 , 表示“全部”)多個參數(shù):ls -al(全部文件 + 列表形式展示)單個長參數(shù):ls --all多個長參數(shù):ls --reverse --all長短混合參數(shù):ls --all -l復(fù)制代碼
參數(shù)值
短參數(shù):command -p 10(例如:ssh root@121.42.11.34 -p 22)長參數(shù):command --paramters=10(例如:ssh root@121.42.11.34 --port=22)復(fù)制代碼
快捷方式
在開始學(xué)習(xí) Linux 命令之前,有這么一些快捷方式,是必須要提前掌握的,它將貫穿整個 Linux 使用生涯 。
文件和目錄文件的組織
image.png
查看路徑pwd
顯示當(dāng)前目錄的路徑
image.png
which
查看命令的可執(zhí)行文件所在路徑,Linux 下,每一條命令其實都對應(yīng)一個可執(zhí)行程序,在終端中輸入命令 , 按回車的時候,就是執(zhí)行了對應(yīng)的那個程序,which 命令本身對應(yīng)的程序也存在于 Linux 中 。
總的來說一個命令就是一個可執(zhí)行程序 。
image.png
瀏覽和切換目錄ls
列出文件和目錄,它是 Linux 最常用的命令之一 。
【常用參數(shù)】
image.png
cd
cd 是英語的縮寫 , 表示切換目錄 。
cd / --> 跳轉(zhuǎn)到根目錄cd ~ --> 跳轉(zhuǎn)到家目錄cd .. --> 跳轉(zhuǎn)到上級目錄cd ./home --> 跳轉(zhuǎn)到當(dāng)前目錄的home目錄下cd /home/lion --> 跳轉(zhuǎn)到根目錄下的home目錄下的lion目錄cd --> 不添加任何參數(shù),也是回到家目錄復(fù)制代碼
[注意] 輸入cd /ho + 單次 tab 鍵會自動補全路徑 + 兩次 tab 鍵會列出所有可能的目錄列表 。
du
列舉目錄大小信息 。
【常用參數(shù)】
瀏覽和創(chuàng)建文件cat
一次性顯示文件所有內(nèi)容,更適合查看小的文件 。
cat cloud-init.log復(fù)制代碼
【常用參數(shù)】
less
分頁顯示文件內(nèi)容,更適合查看大的文件 。
less cloud-init.log復(fù)制代碼
【快捷操作】
head
顯示文件的開頭幾行(默認(rèn)是10行)
head cloud-init.log復(fù)制代碼
【參數(shù)】
tail
顯示文件的結(jié)尾幾行(默認(rèn)是10行)
tail cloud-init.log復(fù)制代碼
【參數(shù)】
touch
創(chuàng)建一個文件
touch new_file復(fù)制代碼
mkdir
創(chuàng)建一個目錄
mkdir new_folder復(fù)制代碼
【常用參數(shù)】
文件的復(fù)制和移動cp
拷貝文件和目錄
cp file file_copy --> file 是目標(biāo)文件,file_copy 是拷貝出來的文件cp file one --> 把 file 文件拷貝到 one 目錄下,并且文件名依然為 filecp file one/file_copy --> 把 file 文件拷貝到 one 目錄下,文件名為file_copycp *.txt folder --> 把當(dāng)前目錄下所有 txt 文件拷貝到 folder 目錄下復(fù)制代碼
【常用參數(shù)】
mv
移動(重命名)文件或目錄,與cp命令用法相似 。
mv file one --> 將 file 文件移動到 one 目錄下mv new_folder one --> 將 new_folder 文件夾移動到one目錄下mv *.txt folder --> 把當(dāng)前目錄下所有 txt 文件移動到 folder 目錄下mv file new_file --> file 文件重命名為 new_file復(fù)制代碼
文件的刪除和鏈接rm
刪除文件和目錄 , 由于 Linux 下沒有回收站ubuntu下相關(guān)服務(wù)器的搭建,一旦刪除非常難恢復(fù),因此需要謹(jǐn)慎操作
rm new_file--> 刪除 new_file 文件rm f1 f2 f3--> 同時刪除 f1 f2 f3 3個文件復(fù)制代碼
【常用參數(shù)】
ln
英文 Link 的縮寫,表示創(chuàng)建鏈接 。
學(xué)習(xí)創(chuàng)建鏈接之前 , 首先要理解鏈接是什么,我們先來看看 Linux 的文件是如何存儲的:
Linux 文件的存儲方式分為3個部分,文件名、文件內(nèi)容以及權(quán)限,其中文件名的列表是存儲在硬盤的其它地方和文件內(nèi)容是分開存放的,每個文件名通過 inode 標(biāo)識綁定到文件內(nèi)容 。
Linux 下有兩種鏈接類型:硬鏈接和軟鏈接 。
硬鏈接
使鏈接的兩個文件共享同樣文件內(nèi)容,就是同樣的 inode ,一旦文件1和文件2之間有了硬鏈接,那么修改任何一個文件,修改的都是同一塊內(nèi)容,它的缺點是 , 只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的(其實也可以,但比較復(fù)雜)而軟鏈接都可以,因此軟鏈接使用更加廣泛 。
ln file1 file2--> 創(chuàng)建 file2 為 file1 的硬鏈接復(fù)制代碼
image.png
如果我們用 rm file1 來刪除 file1 ,對 file2 沒有什么影響,對于硬鏈接來說,刪除任意一方的文件,共同指向的文件內(nèi)容并不會從硬盤上刪除 。只有同時刪除了 file1 與 file2 后,它們共同指向的文件內(nèi)容才會消失 。
軟鏈接
軟鏈接就類似下快捷方式 。
ln -s file1 file2復(fù)制代碼
image.png
執(zhí)行 ls -l 命名查看當(dāng)前目錄下文件的具體信息
total 0-rw-r--r-- 1 root root 0 Jan 14 06:29 file1lrwxrwxrwx 1 root root 5 Jan 14 06:42 file2 -> file1# 表示file2 指向 file1復(fù)制代碼
其實 file2 只是 file1 的一個快捷方式,它指向的是 file1 ,所以顯示的是 file1 的內(nèi)容 , 但其實 file2 的 inode 與 file1 并不相同 。如果我們刪除了 file2 的話,file1 是不會受影響的,但如果刪除 file1 的話,file2 就會變成死鏈接,因為指向的文件不見了 。
用戶與權(quán)限用戶
Linux 是一個多用戶的操作系統(tǒng) 。在 Linux 中,理論上來說,我們可以創(chuàng)建無數(shù)個用戶 , 但是這些用戶是被劃分到不同的群組里面的,有一個用戶,名叫 root ,是一個很特殊的用戶,它是超級用戶,擁有最高權(quán)限 。
image.png
自己創(chuàng)建的用戶是有限權(quán)限的用戶,這樣大大提高了 Linux 系統(tǒng)的安全性,有效防止誤操作或是病毒攻擊,但是我們執(zhí)行的某些命令需要更高權(quán)限時可以使用 sudo 命令 。
sudo
以 root 身份運行命令
sudo date--> 當(dāng)然查看日期是不需要sudo的這里只是演示,sudo 完之后一般還需要輸入用戶密碼的復(fù)制代碼
+
這兩個命令需要 root 用戶權(quán)限
useradd lion --> 添加一個lion用戶,添加完之后在 /home 路徑下可以查看passwd lion --> 修改lion用戶的密碼復(fù)制代碼
刪除用戶,需要 root 用戶權(quán)限
userdel lion --> 只會刪除用戶名,不會從/home中刪除對應(yīng)文件夾userdel lion -r --> 會同時刪除/home下的對應(yīng)文件夾復(fù)制代碼
su
切換用戶,需要 root 用戶權(quán)限
sudo su --> 切換為root用戶(exit 命令或 CTRL + D 快捷鍵都可以使普通用戶切換為 root 用戶)su lion --> 切換為普通用戶su - --> 切換為root用戶復(fù)制代碼
群組的管理
Linux 中每個用戶都屬于一個特定的群組 , 如果你不設(shè)置用戶的群組,默認(rèn)會創(chuàng)建一個和它的用戶名一樣的群組 , 并且把用戶劃歸到這個群組 。
創(chuàng)建群組,用法和類似 。
groupadd friends復(fù)制代碼
刪除一個已存在的群組
groupdel foo--> 刪除foo群組復(fù)制代碼
查看用戶所在群組
groups lion--> 查看 lion 用戶所在的群組復(fù)制代碼
用于修改用戶的賬戶 。
【常用參數(shù)】
chgrp
用于修改文件的群組 。
chgrp bar file.txt --> file.txt文件的群組修改為bar復(fù)制代碼
chown
改變文件的所有者,需要 root 身份才能運行 。
chown lion file.txt --> 把其它用戶創(chuàng)建的file.txt轉(zhuǎn)讓給lion用戶chown lion:bar file.txt --> 把file.txt的用戶改為lion,群組改為bar復(fù)制代碼
【常用參數(shù)】
文件權(quán)限管理chmod
修改訪問權(quán)限 。
chmod 740 file.txt復(fù)制代碼
【常用參數(shù)】
修改權(quán)限的確簡單,但是理解其深層次的意義才是更加重要的 。下面我們來系統(tǒng)的學(xué)習(xí) Linux 的文件權(quán)限 。
[root@lion ~]# ls -ldrwxr-xr-x 5 root root 4096 Apr 132020 climblrwxrwxrwx 1 root root7 Jan 14 06:41 hello2.c -> hello.c-rw-r--r-- 1 root root149 Jan 13 06:14 hello.c復(fù)制代碼
其中 drwxr-xr-x 表示文件或目錄的權(quán)限 。讓我們一起來解讀它具體代表什么?
權(quán)限的整體是按用戶來劃分的,如下圖所示:
image.png
現(xiàn)在再來理解這句權(quán)限 drwxr-xr-x 的意思:
現(xiàn)在理解了權(quán)限,我們使用 chmod 來嘗試修改權(quán)限 。chmod 它不需要是 root 用戶才能運行的,只要你是此文件所有者,就可以用 chmod 來修改文件的訪問權(quán)限 。
數(shù)字分配權(quán)限
權(quán)限
數(shù)字
r
4
w
2
x
1
因此要改變權(quán)限,只要做一些簡單的加法就行:
chmod 640 hello.c # 分析6 = 4 + 2 + 0 表示所有者具有 rw 權(quán)限4 = 4 + 0 + 0 表示群組用戶具有 r 權(quán)限0 = 0 + 0 + 0 表示其它用戶沒有權(quán)限對應(yīng)文字權(quán)限為:-rw-r-----復(fù)制代碼
用字母來分配權(quán)限查找文件
搜索包含關(guān)鍵字的所有文件和目錄 。后接需要查找的文件名,也可以用正則表達(dá)式 。
安裝
yum -y install mlocate --> 安裝包updatedb --> 更新數(shù)據(jù)庫復(fù)制代碼locate file.txtlocate fil*.txt復(fù)制代碼
[注意]命令會去文件數(shù)據(jù)庫中查找命令 , 而不是全磁盤查找,因此剛創(chuàng)建的文件并不會更新到數(shù)據(jù)庫中,所以無法被查找到,可以執(zhí)行命令去更新數(shù)據(jù)庫 。
find
用于查找文件 , 它會去遍歷你的實際硬盤進(jìn)行查找,而且它允許我們對每個找到的文件進(jìn)行后續(xù)操作,功能非常強(qiáng)大 。
find復(fù)制代碼
根據(jù)文件名查找
find -name "file.txt" --> 當(dāng)前目錄以及子目錄下通過名稱查找文件find . -name "syslog" --> 當(dāng)前目錄以及子目錄下通過名稱查找文件find / -name "syslog" --> 整個硬盤下查找syslogfind /var/log -name "syslog" --> 在指定的目錄/var/log下查找syslog文件find /var/log -name "syslog*" --> 查找syslog1、syslog2 ... 等文件,通配符表示所有find /var/log -name "*syslog*" --> 查找包含syslog的文件 復(fù)制代碼
[注意] find 命令只會查找完全符合 “何物” 字符串的文件 , 而會查找所有包含關(guān)鍵字的文件 。
根據(jù)文件大小查找
find /var -size +10M --> /var 目錄下查找文件大小超過 10M 的文件find /var -size -50k --> /var 目錄下查找文件大小小于 50k 的文件find /var -size +1G --> /var 目錄下查找文件大小查過 1G 的文件find /var -size 1M --> /var 目錄下查找文件大小等于 1M 的文件復(fù)制代碼
根據(jù)文件最近訪問時間查找
find -name "*.txt" -atime -7--> 近 7天內(nèi)訪問過的.txt結(jié)尾的文件復(fù)制代碼
僅查找目錄或文件
find . -name "file" -type f--> 只查找當(dāng)前目錄下的file文件find . -name "file" -type d--> 只查找當(dāng)前目錄下的file目錄復(fù)制代碼
操作查找結(jié)果
find -name "*.txt" -printf "%p - %un" --> 找出所有后綴為txt的文件,并按照 %p - %un 格式打?。?其中%p=文件名,%u=文件所有者find -name "*.jpg" -delete --> 刪除當(dāng)前目錄以及子目錄下所有.jpg為后綴的文件,不會有刪除提示,因此要慎用find -name "*.c" -exec chmod 600 {} ; --> 對每個.c結(jié)尾的文件,都進(jìn)行 -exec 參數(shù)指定的操作,{} 會被查找到的文件替代,; 是必須的結(jié)尾find -name "*.c" -ok chmod 600 {} ; --> 和上面的功能一直,會多一個確認(rèn)提示復(fù)制代碼
軟件倉庫
Linux 下軟件是以包的形式存在,一個軟件包其實就是軟件的所有文件的壓縮包,是二進(jìn)制的形式,包含了安裝軟件的所有指令 。Red Hat 家族的軟件包后綴名一般為 .rpm ,家族的軟件包后綴是 .deb。
Linux 的包都存在一個倉庫,叫做軟件倉庫,它可以使用 yum 來管理軟件包,yum 是中默認(rèn)的包管理工具,適用于 Red Hat 一族 。可以理解成 Node.js 的 npm。
yum 常用命令切換軟件源
有時候默認(rèn)的 yum 源不一定是國內(nèi)鏡像,導(dǎo)致 yum 在線安裝及更新速度不是很理想 。這時候需要將 yum 源設(shè)置為國內(nèi)鏡像站點 。國內(nèi)主要開源的鏡像站點是網(wǎng)易和阿里云 。
1、首先備份系統(tǒng)自帶 yum 源配置文件 mv /etc/yum.repos.d/-Base.repo /etc/yum.repos.d/-Base.repo.
2、下載阿里云的 yum 源配置文件到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo復(fù)制代碼
3、生成緩存
yum makecache復(fù)制代碼
閱讀手冊
Linux 命令種類繁雜,我們憑借記憶不可能全部記?。?虼搜Щ岵橛檬植崾欠淺V匾??。
man安裝更新 man
sudo yum install -y man-pages --> 安裝sudo mandb --> 更新復(fù)制代碼
man 手冊種類可執(zhí)行程序或 Shell 命令;系統(tǒng)調(diào)用( Linux 內(nèi)核提供的函數(shù));庫調(diào)用(程序庫中的函數(shù));文件(例如 /etc/ );特殊文件(通常在 /dev 下);游戲;雜項( man(7) ,groff(7) );系統(tǒng)管理命令(通常只能被 root 用戶使用);內(nèi)核子程序 。man + 數(shù)字 + 命令
輸入 man + 數(shù)字 + 命令/函數(shù),可以查到相關(guān)的命令和函數(shù),若不加數(shù)字ubuntu下相關(guān)服務(wù)器的搭建 , man 默認(rèn)從數(shù)字較小的手冊中尋找相關(guān)命令和函數(shù)
man 3 rand--> 表示在手冊的第三部分查找 rand 函數(shù)man ls--> 查找 ls 用法手冊復(fù)制代碼
man 手冊核心區(qū)域解析:(以 man pwd 為例)
NAME # 命令名稱和簡單描述pwd -- return working directory nameSYNOPSIS # 使用此命令的所有方法pwd [-L | -P]DESCRIPTION # 包括所有參數(shù)以及用法The pwd utility writes the absolute pathname of the current working directory to the standard output.Some shells may provide a builtin pwd command which is similar or identical to this utility.Consult the builtin(1) manual page.The options are as follows:-LDisplay the logical current working directory.-PDisplay the physical current working directory (all symbolic links resolved).If no options are specified, the -L option is assumed.SEE ALSO # 擴(kuò)展閱讀相關(guān)命令builtin(1), cd(1), csh(1), sh(1), getcwd(3)復(fù)制代碼
help
man 命令像新華詞典一樣可以查詢到命令或函數(shù)的詳細(xì)信息,但其實我們還有更加快捷的方式去查詢,–help 或-h,它沒有 man 命令顯示的那么詳細(xì) , 但是它更加易于閱讀 。
Linux 進(jìn)階文本操作grep
全局搜索一個正則表達(dá)式,并且打印到屏幕 。簡單來說就是,在文件中查找關(guān)鍵字,并顯示關(guān)鍵字所在行 。
基礎(chǔ)語法
grep text file # text代表要搜索的文本 , file代表供搜索的文件# 實例[root@lion ~]# grep path /etc/profilepathmunge () {pathmunge /usr/sbinpathmunge /usr/local/sbinpathmunge /usr/local/sbin afterpathmunge /usr/sbin afterunset -f pathmunge復(fù)制代碼
常用參數(shù)高級用法
grep 可以配合正則表達(dá)式使用 。
grep -E path /etc/profile --> 完全匹配pathgrep -E ^path /etc/profile --> 匹配path開頭的字符串grep -E [Pp]ath /etc/profile --> 匹配path或Path復(fù)制代碼
sort
對文件的行進(jìn)行排序 。
基礎(chǔ)語法
sort name.txt # 對name.txt文件進(jìn)行排序復(fù)制代碼
實例用法
為了演示方便 , 我們首先創(chuàng)建一個文件 name.txt,放入以下內(nèi)容:
ChristopherShawnTedRockNoahZacharyBella復(fù)制代碼
執(zhí)行 sort name.txt 命令,會對文本內(nèi)容進(jìn)行排序 。
常用參數(shù)wc
word count 的縮寫 , 用于文件的統(tǒng)計 。它可以統(tǒng)計單詞數(shù)目、行數(shù)、字符數(shù),字節(jié)數(shù)等 。
基礎(chǔ)語法
wc name.txt # 統(tǒng)計name.txt復(fù)制代碼
實例用法
[root@lion ~]# wc name.txt 13 13 91 name.txt復(fù)制代碼
常用參數(shù)uniq
刪除文件中的重復(fù)內(nèi)容 。
基礎(chǔ)語法
uniq name.txt # 去除name.txt重復(fù)的行數(shù),并打印到屏幕上uniq name.txt uniq_name.txt # 把去除重復(fù)后的文件保存為 uniq_name.txt復(fù)制代碼
【注意】它只能去除連續(xù)重復(fù)的行數(shù) 。
常用參數(shù)cut
剪切文件的一部分內(nèi)容 。
基礎(chǔ)語法
cut -c 2-4 name.txt # 剪切每一行第二到第四個字符復(fù)制代碼
常用參數(shù)重定向 管道 流
在 Linux 中一個命令的去向可以有3個地方:終端、文件、作為另外一個命令的入?yún)?。
命令一般都是通過鍵盤輸入 , 然后輸出到終端、文件等地方,它的標(biāo)準(zhǔn)用語是 stdin 、以及。
image.png
重定向
把本來要顯示在終端的命令結(jié)果,輸送到別的地方(到文件中或者作為其他命令的輸入) 。
輸出重定向 >
> 表示重定向到新的文件 , cut -d , -f 1 notes.csv > name.csv,它表示通過逗號剪切 notes.csv 文件(剪切完有3個部分)獲取第一個部分,重定向到 name.csv 文件 。
我們來看一個具體示例,學(xué)習(xí)它的使用,假設(shè)我們有一個文件 notes.csv,文件內(nèi)容如下:
Mark1,951/100,很不錯1Mark2,952/100,很不錯2Mark3,953/100,很不錯3Mark4,954/100,很不錯4Mark5,955/100,很不錯5Mark6,956/100,很不錯6復(fù)制代碼
執(zhí)行命令: cut -d , -f 1 notes.csv > name.csv 最后輸出如下內(nèi)容:
Mark1Mark2Mark3Mark4Mark5Mark6復(fù)制代碼
【注意】使用 > 要注意,如果輸出的文件不存在它會新建一個,如果輸出的文件已經(jīng)存在,則會覆蓋 。因此執(zhí)行這個操作要非常小心,以免覆蓋其它重要文件 。
輸出重定向 >>
表示重定向到文件末尾,因此它不會像 > 命令這么危險,它是追加到文件的末尾(當(dāng)然如果文件不存在 , 也會被創(chuàng)建) 。
再次執(zhí)行 cut -d , -f 1 notes.csv >> name.csv,則會把名字追加到 name.csv 里面 。
Mark1Mark2Mark3Mark4Mark5Mark6Mark1Mark2Mark3Mark4Mark5Mark6復(fù)制代碼
我們平時讀的 log 日志文件其實都是用這個命令輸出的 。
輸出重定向 2>
標(biāo)準(zhǔn)錯誤輸出
cat not_exist_file.csv > res.txt 2> errors.log復(fù)制代碼
輸出重定向 2>>
標(biāo)準(zhǔn)錯誤輸出(追加到文件末尾)同 >> 相似 。
輸出重定向 2>&1
標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出都重定向都一個地方
cat not_exist_file.csv > res.txt 2>&1# 覆蓋輸出cat not_exist_file.csv >> res.txt 2>&1 # 追加輸出復(fù)制代碼
目前為止,我們接觸的命令的輸入都來自命令的參數(shù) , 其實命令的輸入還可以來自文件或者鍵盤的輸入 。
未命名文件 (2).png
輸入重定向
【2萬字系統(tǒng)總結(jié),帶你實現(xiàn) Linux 命令自由?】本文到此結(jié)束,希望對大家有所幫助 。
- Win10系統(tǒng)不定時出現(xiàn)藍(lán)屏,win32kfull.sys的原因解決方法
- Windows系統(tǒng)預(yù)裝OEM系統(tǒng)的相關(guān)設(shè)置
- 華為手機(jī)系統(tǒng)更新后后悔了,想恢復(fù)到原有的版本,該怎么操作?
- 新組裝的電腦,自己裝的win7的64位系統(tǒng)。開機(jī)關(guān)機(jī)都很慢。請問大神如何解決?
- 昆侖通態(tài)的97個常見經(jīng)典問題及解決方案大總結(jié),超實用!
- 重裝系統(tǒng)后EXCEL為什么寫不進(jìn)數(shù)據(jù)了?無法保存數(shù)據(jù)怎么辦?
- 固態(tài)硬盤只能裝系統(tǒng)嗎?可以放游戲不?
- 電腦怎么升級系統(tǒng)?
- 第一次裝完系統(tǒng)之后啟動電腦內(nèi)存占用很高,這種情況該怎么辦?
- 想學(xué)裝系統(tǒng)的進(jìn)來看看吧
