1 strace:解释Shell命令的运行细节
2 ls:罗列当前目录的所有文件
ls /home:显示home 下所有的文件件及文件
3 ls --help:查看ls命令的帮助信息
4 clear:清除屏幕
5 alias:给命令起别名
6 alias c='clear' 为clear命令起别名c,
这样按下字符c就可以清除屏幕,这样为为clear命令起别名是暂时有效,
关闭当前的Shell之后就失效了,要永久有效,必须将命令写入 ~/.bashrc的末尾
7 cat file
将文件file的内容显示到屏幕上
8 CD 改变当前路径
- 1 将当前路径改为/ect/vim:
$ cd/ect/vim - 2 回到主目录
$ cd - 3 回到刚才的路径
$ cd - - 4 回到上一层目录
$ cd ..
9 cp 复制文件命令
cp file1 file2 将文件file1的内容复制到file2文件,如果文件file2已存在,会覆盖文件file2文件
如果想要在覆盖之前有个提示,显示是否覆盖,可以加一个选项 -i cp file1 file2 -i
当文件file1是一个目录树时 需要加上选项 -r,表示递归地复制 即:cp file1 file2 -r
如果想要在覆盖之前有个提示,显示是否覆盖,可以加一个选项 -i cp file1 file2 -i -r
10 df
df命令用来查看当前文件系统的详细信息
如 df -h :以MB或者GB方式,显示磁盘空间的大小
11 echo
打印输入的字符,相当于C程序的printf()函数与js中console.log()函数
echo "hello"
执行以上命令将会在屏幕上出现hello字样,如果要让echo支持转义字符,那么要加上选项-e
如:echo -e "hrllo\xiaoming"
12 find 查询命令
find /opt/src -name ".dll" :在路径/opt/src上查询所有以.dll结尾的文件
find -name ".dll" :在当前路径查询所有以.dll结尾的文件
find /opt/src -empty" :在路径/opt/src上查询所有空文件
find /opt/src -mmin n" :在路径/opt/src上查找n分钟之前修改过的文件
find /opt/src -type[xxx]" :在路径/opt/src上查找某种类型的文件
默认情况下,find命令会递归地查找你说执行的目录下所有子目录
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 查看网络信息
-
ifconfig
:查看系统中已激活的所有的网络端口信息:
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 (以太网)
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 (以太网)
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 (本地环回)
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 + 网络名称
:查看系统中指定的网络端口信息
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 (以太网)
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$
- 修改系统中指定的网络端口信息
ifconfig + 网络名称+IP地址
- 停用系统中制定的网络端口
ifconfig + 网络名称+down
- 起用系统中指定的网络端口
ifconfig + 网络名称+down
up
15 diff
比较两个文件或者目录的异同,并将之加工成符合某种格式的文档,这就是大名鼎鼎的补丁文件。神器diff是各种版本管理软件如svn、git的基石
现在比较两个文件code1.cs与code2.cs的异同
code1.cs内容:使用cat命令获取内容
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内容:
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)
接下来的内容对比显示不同的地方在哪,符号<
表示第一个文件(code1.cs)的[9,10]行的内容,符号>
表示第二个文件(code1.cs)的[9,10]行的内容。中间的---
则表示两个文件的分割符
这是diff命令的默认模式,不太符合人的阅读思维,还有另外两种模式
-c模式:使用上下文输出格式(文件1在上,文件2在下)和统一输出格式
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的内容
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