Linux命令拾遺

1 strace:解釋Shell命令的運行細節(jié)

2 ls:羅列當(dāng)前目錄的所有文件

            ls  /home:顯示home 下所有的文件件及文件

3 ls --help:查看ls命令的幫助信息

4 clear:清除屏幕

5 alias:給命令起別名

6 alias c='clear' 為clear命令起別名c浦徊,

這樣按下字符c就可以清除屏幕七嫌,這樣為為clear命令起別名是暫時有效,
關(guān)閉當(dāng)前的Shell之后就失效了,要永久有效,必須將命令寫入 ~/.bashrc的末尾

7 cat file

將文件file的內(nèi)容顯示到屏幕上


image.png

8 CD 改變當(dāng)前路徑

  • 1 將當(dāng)前路徑改為/ect/vim:
    $ cd/ect/vim
  • 2 回到主目錄
    $ cd
  • 3 回到剛才的路徑
    $ cd -
  • 4 回到上一層目錄
    $ cd ..

9 cp 復(fù)制文件命令

cp file1 file2 將文件file1的內(nèi)容復(fù)制到file2文件,如果文件file2已存在,會覆蓋文件file2文件
如果想要在覆蓋之前有個提示,顯示是否覆蓋愕难,可以加一個選項 -i cp file1 file2 -i
當(dāng)文件file1是一個目錄樹時 需要加上選項 -r,表示遞歸地復(fù)制 即:cp file1 file2 -r
如果想要在覆蓋之前有個提示惫霸,顯示是否覆蓋猫缭,可以加一個選項 -i cp file1 file2 -i -r

10 df

df命令用來查看當(dāng)前文件系統(tǒng)的詳細信息
如 df -h :以MB或者GB方式,顯示磁盤空間的大小

11 echo

打印輸入的字符壹店,相當(dāng)于C程序的printf()函數(shù)與js中console.log()函數(shù)
echo "hello"
執(zhí)行以上命令將會在屏幕上出現(xiàn)hello字樣猜丹,如果要讓echo支持轉(zhuǎn)義字符,那么要加上選項-e
如:echo -e "hrllo\xiaoming"

12 find 查詢命令

find /opt/src -name ".dll" :在路徑/opt/src上查詢所有以.dll結(jié)尾的文件
find -name "
.dll" :在當(dāng)前路徑查詢所有以.dll結(jié)尾的文件
find /opt/src -empty" :在路徑/opt/src上查詢所有空文件
find /opt/src -mmin n" :在路徑/opt/src上查找n分鐘之前修改過的文件
find /opt/src -type[xxx]" :在路徑/opt/src上查找某種類型的文件
默認情況下硅卢,find命令會遞歸地查找你說執(zhí)行的目錄下所有子目錄

fcj@ubuntu:~/Desktop/ceshi$ find -name "buding.log"
./buding.log

13 grep 在文件中查找字符串

-r:如果有子目錄射窒,則遞歸的查找
-w:嚴格的匹配查詢的字符
-n:打印行號
-H:打印文件名
例:在路徑/home/fcj/Desktop/ceshi/file1/APIServer.xml下遞歸地查詢字符串"刪除用戶" ,并打印出含有此字符串的文件名稱和改字符串在文件中的行號

fcj@ubuntu:~/Desktop/ceshi$ grep "刪除用戶" /home/fcj/Desktop/ceshi/file1/APIServer.xml -rwnH
/home/fcj/Desktop/ceshi/file1/APIServer.xml:181:            刪除用戶

14 ifconfig 查看網(wǎng)絡(luò)信息

  • ifconfig:查看系統(tǒng)中已激活的所有的網(wǎng)絡(luò)端口信息:
fcj@ubuntu:~/Desktop/ceshi$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:76:9b:cb:20  txqueuelen 0  (以太網(wǎng))
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.136  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::2e22:f8c0:8e2c:27af  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e3:75:16  txqueuelen 1000  (以太網(wǎng))
        RX packets 70846  bytes 77287877 (77.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 27152  bytes 2163467 (2.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地環(huán)回)
        RX packets 7198  bytes 595410 (595.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7198  bytes 595410 (595.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

fcj@ubuntu:~/Desktop/ceshi$ 

  • ifconfig + 網(wǎng)絡(luò)名稱:查看系統(tǒng)中指定的網(wǎng)絡(luò)端口信息
fcj@ubuntu:~/Desktop/ceshi$ ifconfig docker0
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:76:9b:cb:20  txqueuelen 0  (以太網(wǎng))
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

fcj@ubuntu:~/Desktop/ceshi$ 

  • 修改系統(tǒng)中指定的網(wǎng)絡(luò)端口信息
    ifconfig + 網(wǎng)絡(luò)名稱+IP地址
  • 停用系統(tǒng)中制定的網(wǎng)絡(luò)端口

ifconfig + 網(wǎng)絡(luò)名稱+down

  • 起用系統(tǒng)中指定的網(wǎng)絡(luò)端口

ifconfig + 網(wǎng)絡(luò)名稱+downup

15 diff

比較兩個文件或者目錄的異同将塑,并將之加工成符合某種格式的文檔脉顿,這就是大名鼎鼎的補丁文件。神器diff是各種版本管理軟件如svn点寥、git的基石
現(xiàn)在比較兩個文件code1.cs與code2.cs的異同
code1.cs內(nèi)容:使用cat命令獲取內(nèi)容

fcj@ubuntu:~$ cat /home/fcj/Desktop/ceshi/file1/code1.cs
    /// <summary>
        /// 將對象序列化為JSON格式
        /// </summary>
        /// <param name="o">對象</param>
        /// <returns>json字符串</returns>
        public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
        {
            IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
            string json = JsonConvert.SerializeObject(o, dtConverter);
            //string json = JsonConvert.SerializeObject(o);
            return json;
        }
        /// <summary>
        /// 將對象序列化為JSON格式
        /// </summary>
        /// <param name="o">對象</param>
        /// <returns>json字符串</returns>
        public static string SerializeObject(object o)
        {
            // IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
            // string json = JsonConvert.SerializeObject(o, dtConverter);
            string json = JsonConvert.SerializeObject(o);
            return json;
        }

code2.cs內(nèi)容:

fcj@ubuntu:~$ cat /home/fcj/Desktop/ceshi/file1/code2.cs
    /// <summary>
        /// 將對象序列化為JSON格式
        /// </summary>
        /// <param name="o">對象</param>
        /// <returns>json字符串</returns>
        public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
        {
            IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
            //string json = JsonConvert.SerializeObject(o, dtConverter);
            string json = JsonConvert.SerializeObject(o);
            return json;
        }
        /// <summary>
        /// 將對象序列化為JSON格式
        /// </summary>
        /// <param name="o">對象</param>
        /// <returns>json字符串</returns>
        public static string SerializeObject(object o)
        {           
            string json = JsonConvert.SerializeObject(o);
            return json;
        }
fcj@ubuntu:~$ 


diff code1.cs code2.cs:此命令的含義艾疟,比較code2.cs與code1.cs異同,并把不同之處顯示出來

fcj@ubuntu:~$ diff  /home/fcj/Desktop/ceshi/file1/code1.cs /home/fcj/Desktop/ceshi/file1/code2.cs
9,10c9,10
<             string json = JsonConvert.SerializeObject(o, dtConverter);
<             //string json = JsonConvert.SerializeObject(o);
---
>             //string json = JsonConvert.SerializeObject(o, dtConverter);
>             string json = JsonConvert.SerializeObject(o);
19,21c19
<         {
<             // IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
<             // string json = JsonConvert.SerializeObject(o, dtConverter);
---
>         {           
fcj@ubuntu:~$ 

9,10c9,10的含義是第一個文件(code1.cs)的[9,10]行,包括第九行與第十行與第二個文件(code2.cs)的[9,10]行不同蔽莱,中間的字母c表示在第一個文件上如何操作可以與第二個文件相同弟疆。(a=add,c=change,d=delete)
接下來的內(nèi)容對比顯示不同的地方在哪,符號<表示第一個文件(code1.cs)的[9,10]行的內(nèi)容盗冷,符號>表示第二個文件(code1.cs)的[9,10]行的內(nèi)容怠苔。中間的---則表示兩個文件的分割符

這是diff命令的默認模式,不太符合人的閱讀思維正塌,還有另外兩種模式
-c模式:使用上下文輸出格式(文件1在上嘀略,文件2在下)和統(tǒng)一輸出格式

fcj@ubuntu:~/Desktop/ceshi$ diff  /home/fcj/Desktop/ceshi/file1/code1.cs /home/fcj/Desktop/ceshi/file1/code2.cs -c
*** /home/fcj/Desktop/ceshi/file1/code1.cs  2019-03-30 00:28:11.038582188 +0800
--- /home/fcj/Desktop/ceshi/file1/code2.cs  2019-03-30 00:28:41.137767066 +0800
***************
*** 6,13 ****
          public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
          {
              IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
!             string json = JsonConvert.SerializeObject(o, dtConverter);
!             //string json = JsonConvert.SerializeObject(o);
              return json;
          }
          /// <summary>
--- 6,13 ----
          public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
          {
              IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
!             //string json = JsonConvert.SerializeObject(o, dtConverter);
!             string json = JsonConvert.SerializeObject(o);
              return json;
          }
          /// <summary>
***************
*** 16,24 ****
          /// <param name="o">對象</param>
          /// <returns>json字符串</returns>
          public static string SerializeObject(object o)
!         {
!             // IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
!             // string json = JsonConvert.SerializeObject(o, dtConverter);
              string json = JsonConvert.SerializeObject(o);
              return json;
          }
--- 16,22 ----
          /// <param name="o">對象</param>
          /// <returns>json字符串</returns>
          public static string SerializeObject(object o)
!         {           
              string json = JsonConvert.SerializeObject(o);
              return json;
          }
fcj@ubuntu:~/Desktop/ceshi$ 

-u模式:輸出一個整體恤溶,只有在差異的地方會輸出差異點乓诽,并標注出來

fcj@ubuntu:~/Desktop/ceshi$ diff  /home/fcj/Desktop/ceshi/file1/code1.cs /home/fcj/Desktop/ceshi/file1/code2.cs -u
--- /home/fcj/Desktop/ceshi/file1/code1.cs  2019-03-07 01:28:11.038582188 +0800
+++ /home/fcj/Desktop/ceshi/file1/code2.cs  2019-03-07 02:00:41.137767066 +0800
@@ -6,8 +6,8 @@
         public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
         {
             IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
-            string json = JsonConvert.SerializeObject(o, dtConverter);
-            //string json = JsonConvert.SerializeObject(o);
+            //string json = JsonConvert.SerializeObject(o, dtConverter);
+            string json = JsonConvert.SerializeObject(o);
             return json;
         }
         /// <summary>
@@ -16,9 +16,7 @@
         /// <param name="o">對象</param>
         /// <returns>json字符串</returns>
         public static string SerializeObject(object o)
-        {
-            // IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
-            // string json = JsonConvert.SerializeObject(o, dtConverter);
+        {           
             string json = JsonConvert.SerializeObject(o);
             return json;
         }

用diff比較目錄

fcj@ubuntu:~/Desktop/ceshi$ diff file1 file2 
只在 file2 存在:12

使用diff比較文件,并生成補丁文件buding.log
fcj@ubuntu:~/Desktop/ceshi$ diff /home/fcj/Desktop/ceshi/file1/code1.cs /home/fcj/Desktop/ceshi/file1/code2.cs -u>buding.log
查看文件buding.log的內(nèi)容

fcj@ubuntu:~/Desktop/ceshi$ cat buding.log
--- /home/fcj/Desktop/ceshi/file1/code1.cs  2019-03-07 01:28:11.038582188 +0800
+++ /home/fcj/Desktop/ceshi/file1/code2.cs  2019-03-07 02:00:41.137767066 +0800
@@ -6,8 +6,8 @@
         public static string SerializeObject(object o, string Format)//= "yyyy-MM-dd hh:mm:ss"
         {
             IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
-            string json = JsonConvert.SerializeObject(o, dtConverter);
-            //string json = JsonConvert.SerializeObject(o);
+            //string json = JsonConvert.SerializeObject(o, dtConverter);
+            string json = JsonConvert.SerializeObject(o);
             return json;
         }
         /// <summary>
@@ -16,9 +16,7 @@
         /// <param name="o">對象</param>
         /// <returns>json字符串</returns>
         public static string SerializeObject(object o)
-        {
-            // IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = Format };
-            // string json = JsonConvert.SerializeObject(o, dtConverter);
+        {           
             string json = JsonConvert.SerializeObject(o);
             return json;
         }
fcj@ubuntu:~/Desktop/ceshi$ 

16 查看磁盤使用情況:

df -h

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咒程,一起剝皮案震驚了整個濱河市鸠天,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帐姻,老刑警劉巖稠集,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饥瓷,居然都是意外死亡剥纷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門呢铆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晦鞋,“玉大人,你說我怎么就攤上這事棺克∮贫猓” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵娜谊,是天一觀的道長确买。 經(jīng)常有香客問我,道長纱皆,這世上最難降的妖魔是什么湾趾? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮派草,結(jié)果婚禮上搀缠,老公的妹妹穿的比我還像新娘。我一直安慰自己澳眷,他們只是感情好胡嘿,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钳踊,像睡著了一般衷敌。 火紅的嫁衣襯著肌膚如雪勿侯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天缴罗,我揣著相機與錄音助琐,去河邊找鬼。 笑死面氓,一個胖子當(dāng)著我的面吹牛兵钮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舌界,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼掘譬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了呻拌?” 一聲冷哼從身側(cè)響起葱轩,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藐握,沒想到半個月后靴拱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡猾普,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年袜炕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片初家。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡偎窘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笤成,到底是詐尸還是另有隱情评架,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布炕泳,位于F島的核電站纵诞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏培遵。R本人自食惡果不足惜浙芙,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望籽腕。 院中可真熱鬧嗡呼,春花似錦、人聲如沸皇耗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至万伤,卻和暖如春窒悔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敌买。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工简珠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虹钮。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓聋庵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芙粱。 傳聞我的和親對象是個殘疾皇子祭玉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353