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)容顯示到屏幕上
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ò)名稱+down
up
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