Linux常用命令
Posted 小河沟大河沟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。
-
whereis <程序名称>查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定目录下查找二进制文件-M <目录> 在指定目录下查找帮助文件-S <目录> 在指定目录下查找源代码
dsp@dsp:~$ whereis python.exe
python: /usr/bin/python3.5dm /usr/bin/python3.5 /usr/bin/python3.5m /usr/bin/python3.5-dbg /usr/bin/python3.5-dbg-config /usr/bin/python2.7 /usr/bin/python3.5dm-config /usr/bin/python /usr/bin/python2.7-config /usr/lib/python3.5 /usr/lib/python2.7 /etc/python3.5 /etc/python2.7 /etc/python /usr/local/lib/python3.5 /usr/local/lib/python2.7 /usr/include/python3.5dm /usr/include/python3.5m /usr/include/python2.7 /usr/local/python /usr/share/python
dsp@dsp:~$ locate pycharm /home/dsp/pycharm /home/dsp/.cache/gnome-software/3.20/snap-icons/cb0d662757f4e9fe3f5b2182e02e697b52ef085c-pycharm_logo_256_WJuIBUR.png /home/dsp/.gnome/apps/jetbrains-pycharm-ce.desktop /home/dsp/.local/share/applications/jetbrains-pycharm-ce.desktop /home/dsp/pycharm/Install-Linux-tar.txt /home/dsp/pycharm/bin /home/dsp/pycharm/build.txt /home/dsp/pycharm/help /home/dsp/pycharm/helpers /home/dsp/pycharm/jre64 /home/dsp/pycharm/lib
dsp@dsp:~/pycharm$ find /home/ -name build.txt find: ‘/home/dsp/.gvfs’: Permission denied /home/dsp/pycharm/build.txt find: ‘/home/dsp/.cache/dconf’: Permission denied
Linux下有三个命令:ls
、grep
、wc
。通过这三个命令的组合可以统计目录下文件及文件夹的个数。
dsp@dsp:~/pycharm$ ll total 44 drwxrwxr-x 9 dsp dsp 4096 Nov 5 2017 ./ drwxr-xr-x 78 dsp dsp 4096 May 10 2018 ../ drwxrwxr-x 2 dsp dsp 4096 Nov 5 2017 bin/ -rw-r--r-- 1 dsp dsp 14 Oct 20 2017 build.txt drwxrwxr-x 2 dsp dsp 4096 Nov 5 2017 help/ drwxrwxr-x 18 dsp dsp 4096 Nov 5 2017 helpers/ -rw-r--r-- 1 dsp dsp 1987 Oct 20 2017 Install-Linux-tar.txt drwxrwxr-x 4 dsp dsp 4096 Nov 5 2017 jre64/ drwxrwxr-x 4 dsp dsp 4096 Nov 5 2017 lib/ drwxrwxr-x 2 dsp dsp 4096 Nov 5 2017 license/ drwxrwxr-x 18 dsp dsp 4096 Nov 5 2017 plugins/ dsp@dsp:~/pycharm$ ls -l |grep "^-" |wc -l 2 dsp@dsp:~/pycharm$ ls -lR |grep "^-" |wc -l 2445
命令解析:
ls -l
长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR
是列出所有文件,包括子目录。
grep "^-"
过滤ls
的输出信息,只保留一般文件,只保留目录是grep "^d"
。
wc -l
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
- cd命令: 它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
- ls命令:有用的查看文件与目录的命令
- grep命令: 该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工
- find命令: find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多
- cp命令: 该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下
- mv命令: 该命令用于移动文件、目录或更名,move之意;该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”
- rm命令: 该命令用于删除文件或目录
- ps命令: 该命令用于将某个时间点(静态)的进程运行情况选取下来并输出
- kill命令:该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill -signal PID signal的常用参数如下: 注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。 1:SIGHUP,启动被终止的进程 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行 9:SIGKILL,强制中断一个进程的进行 15:SIGTERM,以正常的结束进程方式来终止进程 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行 例如: # 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程 kill -SIGTERM %1 # 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得 kill -SIGHUP PID
- killall命令: 该命令用于向一个命令启动的进程发送一个信号
- file命令: 该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了:
dsp@dsp:~/pycharm$ file build.txt
build.txt: ASCII text, with no line terminators
- 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 欲解压缩的目录
- zip/unzip命令
格式:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式。 - cat命令: 该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。
cat text | less # 查看text文件中的内容 # 注:这条命令也可以使用less text来代替 ctrl z 退出
- more命令
格式:more [选项] [文件]
功能:more命令显示文件内容,每次显示一屏。 - less命令
格式:less [参数] 文件
功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。 - chgrp命令:命令用于改变文件所属用户组
- chown命令: 该命令用于改变文件的所有者
- chmod命令: 该命令用于改变文件的权限;chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。
- vim命令: 该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。
- gcc命令: 对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数跟它非常相似,所以这里只介绍gcc的参数,它的常用参数如下:
-o :output之意,用于指定生成一个可执行文件的文件名 -c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序 -I :增加编译时搜索头文件的路径 -L :增加编译时搜索静态连接库的路径 -S :把源文件生成汇编代码文件 -lm:表示标准库的目录中名为libm.a的函数库 -lpthread :连接NPTL实现的线程库 -std= :用于指定把使用的C语言的版本 # 例如: # 把源文件test.c按照c99标准编译成可执行程序test gcc -o test test.c -lm -std=c99 #把源文件test.c转换为相应的汇编程序源文件test.s gcc -S test.c
- time命令: 该命令用于测算一个命令(即程序)的执行时间。
- pwd命令 格式: pwd 功能:显示出当前工作目录的绝对路径。
- touch命令
格式:touch[选项] 文件名…
功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。 - mkdir命令
格式:mkdir [选项] dirname…
功能:mkdir命令用来创建目录。 - touch能够新建文件,mkdir用来新建文件夹。rm用来删除文件或文件夹。
- man 命令
格式:man [选项] 命令
功能:man命令格式化并显示某一命令的联机帮助手册页。 - head命令
格式:head [选项] [文件]
功能:head命令在屏幕上显示指定文件的开头若干行。 - tail命令
格式:tail [选项] [文件]
功能:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件。 - date显示
date 指定格式显示时间:date+%Y:%m:%d
date用法:date:date[OPTION]… [+FORMAT] - cal命令
格式:cal [参数] [月份] [年份]
功能:用于查询日历等时间信息,如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。 -
linux如何查看端口被哪个进程占用?
2、netstat -tunlp|grep 端口号
都可以查看指定端口被哪个进程占用的情况
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -ntulp | grep 3306 //查看所有3306端口使用情况·
dsp@dsp:~$ netstat -ntlp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN - tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 28291/python tcp6 0 0 ::1:631 :::* LISTEN - dsp@dsp:~$ netstat -ntlp|grep 8888 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 28291/python dsp@dsp:~$ netstat -tunlp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN - tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 28291/python tcp6 0 0 ::1:631 :::* LISTEN - udp 0 0 0.0.0.0:36592 0.0.0.0:* - udp 0 0 0.0.0.0:5353 0.0.0.0:* - udp 0 0 127.0.1.1:53 0.0.0.0:* - udp 0 0 0.0.0.0:68 0.0.0.0:* - udp 0 0 0.0.0.0:631 0.0.0.0:* - udp 0 0 0.0.0.0:50033 0.0.0.0:* - udp6 0 0 :::5353 :::* - udp6 0 0 :::58343 :::* - dsp@dsp:~$ lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME jupyter-n 28291 dsp 3u IPv4 385473 0t0 TCP localhost:8888 (LISTEN)
以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章
markdown [Docker] Docker片段列表和命令#linux #docker #snippets
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段