【Linux】20个linux常用命令

1. time测算一个命令(即程序)的执行时间,在命令前面加入time即可

time ./process

time ps aux

 

2. gcc命令,对于一个用linux开发C程序的人来说,这个命令非常重要,用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数与它非常近似,所以这里指介绍gcc的参数

-o: output, 用于指定生成一个可执行文件的文件名

-c: 把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序

-I: 增加编译时搜索头文件的路径

-L:增加编译时搜索静态链接库的路径

-S:把源文件生成汇编代码文件

-lm: 表示标准库的目录名为libm.a的函数库

-lpthread: 连接NPTL实现的线程库

-std=:用于指定C语言的版本

 

  1. # 例如:  
  2. # 把源文件test.c按照c99标准编译成可执行程序test
  3. gcc -o test test.c -lm -std=99
    1. #把源文件test.c转换为相应的汇编程序源文件test.s  
    2. gcc -S test.c

 

 

 

3. vim命令主义用于文本编辑,接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令。

4.chmod命令,改变文件的权限

chmod [-R] xyz 文件或目录

同时  chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(add)、-(delete)、=(set)跟rwx搭配来对文件的权限进行更改

 

5.chgrp用于改变文件所述用户组

chgrp [-R] dirname/filename

-R: 进行递归的持续对所有文件和子目录更改

#例如:

chgrp users -R ./dir #递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users

 

6.chown

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同

 

7.cat命令 该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据

使用方式: cat[-AbeEnstTuv] [--help] [--version] filename

cat text | less #查看text文件中的内容

#这条命令也可用less text来代替

-n或--number 由1开始对所有输出的行数编号

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 
-v 或 --show-nonprinting 

范例:

cat -n textfile1>textfile2 把textfile1的内容加上行号后输入到textfile2里

cat /dev/null > /etc/text.txt 清空/etc/test.txt档案内容

 

8.tar命令,用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip何bzip等)进行压缩和解压

-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要解压缩的目录

 

9.file命令 直接用于判断接在file命令后的文件的基本数据,因为在linux下文件的类型并不是以后缀为分的,

所以这个命令对我们来说就很有用了,用于辨识该文件的类型,它的用法非常简单,基本语法如下:

-b:列出辨识结果时不显示文件名称

-c:详细显示指令执行过程,便于排错或分析程序执行的情形

-f<文件名称>:指定名称文件

-L:直接显示符号链接所指向的文件类别

-m<魔法数字文件>  指定魔法数字文件。 
-v  显示版本信息。 
-z  尝试去解读压缩文件的内容

 

10.kill命令 删除执行中的程序或工作

kill [-s <信息名称或编号>] [程序] 或 [-l <信息编号>]

补充说明:kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。

1:SIGHUP,启动被终止的进程

2:SIGINT,相当于输出ctrl + c,中断一个程序的进行

9:SIGKILL,强制中断一个进程的进行

15:SIGTERM,以正常的结束进程方式来终止进程

17; SIGSTOP,相当于输入ctrl + z毛暂停一个进程的执行

 

  1. # 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程  
  2. kill -SIGTERM %1   
  3. # 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得  
  4. kill -SIGHUP PID  

 

 

 

11.killall命令

 用于向一个命令启动的进程发送一个信号

killall [-iIe] [command name]

参数:

-i:交互式,需要删除时会询问用户

-e:后面接的command name要一致,但command name不能超过15个字符

-I:命令名称忽略大小写

例如:

killall -SIGHUP syslogd #重新启动syslogd

 

12. ps命令,用于将某个时间点的进程运行情况选取下来并输出,显示进程的动态,process之意

-A:列出所有的行程

-a:不予terminal有关的所有进程

-w:显示加宽可以显示较多的咨询

-au:显示较详细的咨询

ps -ax:不与terminal有关的所有进程

ps -aux:查看系统所有的进程数据

ps -lA:查看系统所有的进程数据

ps axjf: 查看连同一部分进程数状态

 

13. rm命令 用于删除文件或目录,remove之意

-f: force,忽略不存在的文件,不会出现警告消息

-i:互动模式,删除前询问用户是否操作

-r:递归删除,最常用于目录删除,是一个非常危险的参数

例如:

rm -i filename #删除前询问

rm -fr dir #强制删除dir中的所有文件

 

14. mv 用于移动文件、目录或更名,move之意

-f:

-i:

-u:

该命令可以把一个文件或多个文件一次移动到一个文件夹中,但是最后一个目标文件一定要是dir

 

15.cp 用于复制文件,可以把多个文件一次性地复制到一个目录下

-a:连同文件的特性一起复制

-p:连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i:若目标文件已经存在是,覆盖是会先询问操作是否进行

-r:递归持续复制,用于目录的复制行为

-u:目标文件与源文件有差异时才会复制

例如:

cp -a file1 file2 #连同文件的所有特效把file1复制成file2

cp file1 file2 file3 dir #将file1, file2, file3复制到dir里

 

16. find是一个基于查找的功能非常强大的命令,相对而言,它的使用和参数也相对多

 

  1. find [PATH] [option] [action]  
  2.   
  3. # 与时间有关的参数:  
  4. -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;  
  5. -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;  
  6. -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;  
  7. -newer file : 列出比file还要新的文件名  
  8. # 例如:  
  9. find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件  
  10.   
  11. # 与用户或用户组名有关的参数:  
  12. -user name : 列出文件所有者为name的文件  
  13. -group name : 列出文件所属用户组为name的文件  
  14. -uid n : 列出文件所有者为用户ID为n的文件  
  15. -gid n : 列出文件所属用户组为用户组ID为n的文件  
  16. # 例如:  
  17. find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件  
  18.   
  19. # 与文件权限及名称有关的参数:  
  20. -name filename :找出文件名为filename的文件  
  21. -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件  
  22. -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、  
  23.              目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);  
  24. -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;  
  25. -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示  
  26. -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示  
  27. # 例如:  
  28. find / -name passwd # 查找文件名为passwd的文件  
  29. find . -perm 0755 # 查找当前目录中文件权限的0755的文件  
  30. find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte 

 

17. grep命令用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,通常与管道命令一起使用,用于

对一些命令的输出进行筛选加工等,它的简单语法为

grep [-acinv] [--color = auto] '查找的字符串' filename

常用参数:

-a:将binary文件以text文件的方式查找数据

-c:count,计算查找到的“查找的字符串”的次数

-i:忽略大小写的区别

-v:反向选择,即显示没有所查找内容的那一行

# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色

grep --color=auto 'MANPATH' /etc/man.config

# 把ls -l的输出中包含字母file(不区分大小写)的内容输出

ls -l | grep -i file

 

18. ls命令

这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,
下面就列出一些我常用的参数吧,如下:
 
[plain]  view plain copy print ?
 
  1. -l :列出长数据串,包含文件的属性与权限数据等  
  2. -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)  
  3. -d :仅列出目录本身,而不是列出目录的文件数据  
  4. -h :将文件容量以较易读的方式(GB,kB等)列出来  
  5. -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 

 

19. cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。 

cd  /root/Documents

cd ./path #切换到当前目录下的path目录中, “.“表示当前目录

cd ../path #切换到上层目录中的path目录中, ”..“表示上层目录

 

20.  scp 命令
scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下:
scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径

这是第一种,将远程Linux系统上的某个文件或者目录拷贝到本地Linux系统上来。


scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名
这是第二种第二种是将本地的某个文件或者目录拷贝到远程Linux系统的某个路径下。


2、举例
(1)目前我们处在IP为“192.168.60.133”的Linux系统下,计划将系统下的/home/ixdba/etc.tar.gz文件拷贝到IP为“192.168.60
168”的远程Linux系统中root用户下的/tmp目录下:
scp /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp
命令输入完毕,会要求输入“192.168.60.168”服务器root的密码,然后开始远程拷贝数据。
如果我们处在“192.168.60.168”服务器上,也可以使用下面的命令传输数据:
scp root@192.168.60.133:/home/ixdba/etc.tar.gz /tmp
命令输入完毕,此时会要求输入“192.168.60.133”服务器root的密码,然后开始远程拷贝数据。

例如:scp ./id_rsa.pub  jing.wei@10.28.8.20:/home/jing.wei

进入一个服务器将当前目录下 id_rsa.pub拷贝到另一个服务器。


(2)将本地/etc目录中所有的文件和子目录拷贝到IP为“192.168.60.135”的远程Linux系统的root用户下的/opt目录中:
scp -r /etc root@192.168.60.135:/opt
这里的选项“r”与cp命令的“r”选项含义相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值