应用场景:Linux下python/c++和shell编写程序(玩Linux运维的大神求放过...)
1.cd命令(用于切换目录)
cd /root/Moon # 切换到目录/用于切换的指定目录
cd ./Moon # 切换到当前目录下的Moon目录中,“.”表示当前目录
cd ../Moon # 切换到上层目录中的Moon目录中,“..”表示上一层目录
2.ls命令(作用类似windows下的dir,用于查看文件或目录)
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
3.grep命令(按行查找匹配的信息,常配合管道符‘|’使用)
简单语法如下:
grep [-acinv] [--color=auto] '查找字符串' filename
常用参数:
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
4.cp命令(用于复制文件)
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
5.mv命令和rm命令(mv用于移动文件、目录或更名,rm用于删除文件或目录)
-f :强制执行,不会询问
-i :若目标文件已经存在,就会询问
(若是坚持看到这里,呵呵,那你算是看对了,重点马上就来了)
6.find命令(用于查找,额这个用的最多,也有点多)
它的基本语法如下:
find [PATH] [option] [action]
# 与时间有关的参数:
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
# 例如:
find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件
# 与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
# 例如:
find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件
# 与文件权限及名称有关的参数:
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、
目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示
7.ps命令(用于将某个时间点的进程运行情况选取下来并输出)
敲到手疼其实也就这几条
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态
8.kill命令(用于向%jobnumber或PID传送一个signal)
它的基本语法如下:
kill -signal PID #或者kill -signal %jobnumber
signal的常用参数如下:
SIGHUP #启动被终止的进程
SIGINT #相当于输入ctrl+c,中断一个程序的进行
SIGKILL #强制中断一个进程的进行
SIGTERM #以正常的结束进程方式来终止进程
SIGSTOP #相当于输入ctrl+z,暂停一个进程的进行
9.killall命令
它的一般语法如下:
killall [-iIe] [command name]
它的参数如下:
-i #交互式的意思,若需要删除时,会询问用户
-e #表示后面接的command name要一致,但command name不能超过15个字符
-I #命令名称忽略大小写
10.file命令(用于判断接在file命令后的文件的基本数据)
简单却要重点注意:
file filename
11.vim命令
该命令主要用于文本编辑,它里面有很多非常好用的命令,你可以下载vim常用操作的详细说明。
12.chmod命令(用于改变文件的权限)
一般的用法如下:
chmod [-R] xyz 文件或目录 #[-R]递归处理
13.chgrp命令(用于改变文件所属用户组)
chgrp [-R] dirname/filename #-R 进行递归的持续对所有文件和子目录更改
14.chown命令(用于改变文件的所有者)
同上
15.tar命令(该命令用于对文件进行打包,默认不压缩,可指定解压或压缩)
它的常用参数如下:
-c #新建打包文件
-t #查看打包文件的内容含有哪些文件名
-x #解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j #通过bzip2的支持进行压缩/解压缩
-z #通过gzip的支持进行压缩/解压缩
-v #在压缩/解压缩过程中,将正在处理的文件名显示出来
-f #filename :filename为要处理的文件
-C dir #指定压缩/解压缩的目录dir
常用组合为:
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
16.cat命令(用于查看文本文件的内容,通常可用管道与more和less一起使用)
cat text | less # 查看text文件中的内容 # 注:这条命令也可以使用less text来代替
17.time命令(用于测算一个命令(即程序)的执行时间,使用在命令的前面加入一个time即可)
time ./process
time ps aux
在程序或命令运行结束后,在最后输出了三个时间,它们分别是:
user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;
real:实际时间,从command命令行开始执行到运行终止的消逝时间;
real = user + system
18.gcc命令(用于将C源程序文件,编译成可执行程序)
-o #output之意,用于指定生成一个可执行文件的文件名
-c : #用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I #增加编译时搜索头文件的路径
-L #增加编译时搜索静态连接库的路径
-S #把源文件生成汇编代码文件
-lm #表示标准库的目录中名为libm.a的函数库
-lpthread #连接NPTL实现的线程库
-std= #用于指定把使用的C语言的版本
网友评论