您的位置:首页 > 运维架构 > Linux

【linux】---常用命令整理

2018-04-24 22:52 288 查看

linux常用命令整理

一、ls命令

就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等

常用参数搭配:

ls -a 列出目录所有文件,包含以.开始的隐藏文件

ls -A 列出除.及..的其它文件

ls -r 反序排列

ls -t 以文件修改时间排序

ls -S 以文件大小排序

ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来(可以直接写成 ll)

实例:

ll name*      #列出当前目录中所有以“name”开头的目录的详细内容


二、cd命令

cd /root/Docements      # 切换到目录/root/Docements
cd ./path               # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path              # 切换到上层目录中的path目录中,“..”表示上一层目录


三、rm命令

-f : #就是force的意思,忽略不存在的文件,不会出现警告消息
-i : #互动模式,在删除前会询问用户是否操作
-r : #递归删除,最常用于目录删除,它是一个非常危险的参数

#举例
rm -i file # 删除文件file,在删除之前会询问是否进行该操作
rm -fr dir # 强制删除目录dir中的所有文件


四、cp命令

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

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

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

cp /home/Test.java             #将home路径下的Test.java文件复制到当前目录下
cp -r dir1 dir2                #-r表示递归,将dir1代表的文件夹及里面的文件复制到dir2路径那里
cp -r mysql /usr/local/mysql   #把mysql文件夹所有文件复制到/usr/local/mysql目录下,没有会自动创建目录
cp file1 file2 file3 dir       #把文件file1、file2、file3复制到目录dir中


五、mv命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在,就会询问是否覆盖

-u :若目标文件已经存在,且比目标文件新,才会更新

mv file1 file2 file3 dir  # 把文件file1、file2、file3移动到目录dir中
mv file1 file2            # 把文件file1重命名为file2


六、mkdir命令

-m --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

  -p --parents 递归创建目录

  -v, --verbose 每次创建新目录都显示信息

mkdir abc              #创建一个空目录
mkdir -p test/test1    #递归创建多个目录
mkdir -v hao           #创建新目录都显示信息
mkdir -m 777 pc        #创建权限为777的目录


7、pwd命令

pwd        #查看当前路径
pwd -P    #查看软链接的实际路径


8、find命令

-name 按照文件名查找文件

-perm 按文件权限查找文件

-user 按文件属主查找文件

-group  按照文件所属的组来查找文件。

-amin n   查找系统中最后N分钟访问的文件

-atime n  查找系统中最后n*24小时访问的文件

-mmin n   查找系统中最后N分钟被改变文件数据的文件

-mtime n  查找系统中最后n*24小时被改变文件数据的文件


find ./ -name '*.log'    # 在当前目录查找 以.log结尾的文件。 ". "代表当前目录

find /opt -perm 777      #查找/opt目录下 权限为 777的文件

-xargs                   #find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

find / -name mysql|xargs rm -rf   #找到所有文件名为mysql文件,并全部删除。


9、tar命令

只能使用下面的某一个选项来指定tar要执行的动作。可以通过在选项后面跟一个或多个修饰符来改变该选项的行为

-c 创建归档文件

-u 将file-list中的文件添加到归档文件

-x 从归档文件中提取file-list并把它写入磁盘

修饰符

-f filename 使用filename来指出要创建或从中提取的归档文件的文件名

-j 在创建归档文件或从归档文件中提取文件时,使用bzip2方式来进行压缩和解压缩

-z 在创建归档文件或从归档文件中提取文件时,使用gzip方式来进行压缩和解压缩

-v 显示所有过程

-t 列出归档文件中的目录

tar -cvf demo.tar a b c       #将a b c打包成一个名为demo.tar的归档文件,并显示打包的文件
tar -xvf demo.tar             #解压名为demo.tar的归档文件到本目录,并显示解压的文件
tar -zcvf demo.tar.gz a b c   #将a b c 三文件用gzip的方式打包并压缩成demo.tar.gz
tar -zxvf demo.tar.gz         #用gunzip的的方式解压demo.tar.gz文件
tar -jcvf demo.tar.bz2 a b c  #将a b c三文件用bzip2的方式压缩并打包为demo.tar.bz2
tar -jxvf demo.tar.bz2        #将demo.tar.bz2用bunzip2的方式解压缩到当前目录
tar -cvf jpg.tar *.jpg        #将目录里所有jpg文件打包成tar.jpg


10、ps命令

ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top

linux上进程有5种状态:

1. 运行(正在运行或在运行队列中等待)

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

命令参数:

-A 显示所有进程

a 显示所有进程

- e 显示环境变量

- f 显示进程间的关系

r 显示当前终端运行的进程

-aux 显示所有包含其它使用的进程

ps -A                #显示所有进程信息
ps -u root           #显示指定用户信息
ps -ef               # 显示所有进程信息,连同命令行
ps -ef |grep java    #显示java 进程是否存在
#grep命令是查找,中间的|是管道命令 是指ps命令与grep同时执行
ps -aux |grep java   #显示java 进程是否存在
#上面两个其实没有多大区别只是:aux可以查看进程的CPU占用率和内存占用率。ef可以查看进程的父进程ID和完整的COMMAND命令


11、top命令

top显示系统当前的进程和其他状况,是一个动态显示过程,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

常用参数:

-c 显示完整的进程命令

-s 保密模式

-p <进程号> 指定进程显示

-n <次数>循环显示次数

-d 指定每两次屏幕信息刷新之间的时间间隔。


top       #每隔5秒显式所有进程的资源占用情况(默认是5秒)
top -d 2  #每隔2秒显式所有进程的资源占用情况
top -c    #每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789   #每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456  #每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数


12、kill命令

发送指定的信号到相应进程。

常见参数

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + \)

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

kill -15 pid    #让进程正常退出 。 既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。
kill -9 pid     #当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!
kill -15 $(ps -ef | grep peidalinux)   #杀死指定进程
#不是特殊情况,建议有15就可以了,慎用9哦


13、chmod命令

用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

常用参数:

-c 当发生改变时,报告处理信息

-R 处理指定目录以及其子目录下所有文件

权限范围

u :目录或者文件的当前的用户

g :目录或者文件的当前的群组

o :除了目录或者文件的当前用户或群组之外的用户或者群组

a :所有的用户及群组

三种基本权限

R 读 数值表示为4

W 写 数值表示为2

X 可执行 数值表示为1



如图所示,dump.rdb文件的权限为-rw-r--r--

-rw-r--r--一共十个字符,分成四段。

第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6

第五六七个字符“r--”表示当前所属组的权限。 所以用数值表示为4

第八九十个字符“r--”表示其他用户权限。 所以用数值表示为4

所以操作此文件的权限用数值表示为644

更改权限

sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名

例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

sudo chmod u+x g+w o+r filename

上面的例子可以用数值表示

sudo chmod 765 filename

14、grep命令

强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索

grep太强大了,我这里就举几个常见的。

ps -ef|grep svn                  #查找指定进程
grep -n 'li' nginx.conf          #在nginx.conf查找包含"li"的行,同时显示行号
grep 'linux' test.txt test2.txt  #从多个文件中查找关键词




15、vim命令

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:

:q 退出

:q! 强制退出

:wq 保存并退出

:set number 显示行号

:set nonumber 隐藏行号

/apache 在文档中查找apache 按n跳到下一个,shift+n上一个

yyp 复制光标所在行,并粘贴

h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

16、cat命令

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

-b对非空输出行号

-n输出所有行号

cat -n nginx.conf                        #查看文件并显示行号
cat -n log2012.log log2013.log           #把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
cat -b log2012.log log2013.log log.log  #把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里




17、more命令

功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

命令参数

+n 从笫n行开始显示

-n 定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

-c 从顶部清屏,然后显示

-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l 忽略Ctrl+l(换页)字符

-s 把连续的多个空行显示为一行

常用操作命令

Enter 向下n行,需要定义。默认为1行

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

V 调用vi编辑器

!命令 调用Shell,并执行命令

q 退出more

ls -l | more -5   #在所列出文件目录详细信息,借助管道使每次显示5行 按空格键显示下五行,enter向下1行。具体看上面参数。
more +3 text.txt  #显示文件中从第3行起的内容


18、less命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

19、tail命令

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

常用参数:

-f 循环读取(常用于查看递增的日志文件)

-n<行数> 显示行数(从后向前)

tail -f ping.log  #循环读取逐渐增加的文件内容


这个可以用来看正式服报错日志

20、chown命令

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符

-c 显示更改的部分的信息

-R 处理指定目录及子目录

 chown mail:mail log2012.log   #改变拥有者和群组




chown root: log2012.log      #改变文件拥有者和群组
chown :mail log2012.log      #改变文件群组
chown -R -v root:mail test6  #改变指定目录以及其子目录下的所有文件的拥有者和群组


参考

1.linux常用命令

2.grep命令详解

3.chown命令详解

4.top命令详解

5.tar命令详解

6.ps命令详解

想的太多,做的太少,中间的落差就是烦恼,要么去做,要么别想 [b]中尉【12】[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: