博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux之常用命令
阅读量:3713 次
发布时间:2019-05-21

本文共 7612 字,大约阅读时间需要 25 分钟。

文件目录基本操作

  • ls 命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。常用选项:
ls(选项)(参数)-a 显示所有档案及目录(ls默认不会列出隐藏文件)-l 所有输出信息用单列格式输出,不输出为多列

效果如图:

  • cd 用来切换工作目录至dirname。 其中dirname表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory。

常用选项:

cd   进入用户主目录cd ~ 进入用户主目录cd - 返回进入此目录之前所在的目录cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思)cd ../.. 返回上两级目录
  • mkdir 创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。
    常用选项:
-p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
  • rm 删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
    常用选项:
-f:强制删除文件或目录-i:删除已有文件或目录之前先询问用户-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理-rf:删除目录

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。

  • cp 将一个或多个源文件或者目录复制到指定的目的文件或目录。
    常用选项:
-f:强行复制文件或目录,不论目标文件或目录是否已存在-i:覆盖既有文件之前先询问用户-R/r:递归处理,将指定目录下的所有文件与子目录一并处理

示例:

cp /home/sre/tom.log .   将文件/home/sre/tom.log复制到当前目录cp -r katarina  /home/sre/logs/ 将目录katarina复制到/home/sre/logs/目录下cp file1 file2 将文件file1复制成文件file2cp -f file1 file2  将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
  • mv 对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
    常用选项:
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作

示例:

mv katarina/* logs/ 将目录katarina下所有文件剪切到目录logs下
  • pwd 以绝对路径的方式显示用户当前工作目录,如图:

  • touch 两个功能:一是创建新的空文件;二是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。

示例:

touch /var/wd/logs/touch.txt 创建空文件/var/wd/logs/touch.txt
  • chmod 变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。
    示例:
chmod +x *.sh 给所有的sh脚本增加可执行权限chmod u+x,g+w test  //为文件test设置自己可以执行,组员可以写入的权限

文件内容查看

  • cat 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。示例:
[sre@CDVM-213017031 ~]$ cat flow_of_network.sh | grep "RX_next"  RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')  RX=$((${RX_next}-${RX_pre}))
  • tail 输出文件中的尾部内容,默认在屏幕上显示指定文件的末尾10行。

常用选项:

-f:显示文件最新追加的内容(查看服务器上动态刷新的日志时经常使用)。-n:输出文件的尾部N(N位数字)行内容

示例:

tail -100f /var/wd/logs/owl/owl.20170508.log 显示文件/var/wd/logs/owl/owl.20170508.log中的后100行,并且当文件有更新显示最新的内容。

上述命令功能:查看进程(pid为25211)占用CPU资源最多的线程信息(根据CPU占用率倒序排列)。

  • vim
  1. 在命令模式下,输入/你要查找的字符,按下回车,可以看到vim把光标移动到该字符处,再按n(小写)查看下一个匹配,按N(大写)查看上一个匹配
  2. dd 删除当前行
  3. yy 拷贝当前行,p粘贴(粘贴在光标的下一行)
  4. :%s/str1/str2/g,将全文中所有str1替换为str2
  5. :set number (显示行号):set nonumber (关闭行号)
  6. :wq! (强制保存并退出):q! (不保存文件,强制退出)

文件查找与比较

  • find 在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
    示例:
find /home -name "*.txt"  在/home目录下查找以.txt结尾的文件名find /home -iname "*.txt" 同上,但忽略大小写find /home ! -name "*.txt"  找出/home下不是以.txt结尾的文件
  • which 查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
    示例:
[sre@CDVM-213017031 ~]$ which java/usr/java/default/bin/java[sre@CDVM-213017031 ~]$ which pwd/bin/pwd[sre@CDVM-213017031 ~]$ which python/usr/bin/python
  • whereis 用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
    和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
    示例:
[sre@CDVM-213017031 ~]$ whereis pythonpython: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz[sre@CDVM-213017031 ~]$ whereis lualua: /usr/bin/lua /usr/lib64/lua /usr/share/lua /usr/share/man/man1/lua.1.gz[sre@CDVM-213017031 ~]$ whereis javajava: /usr/bin/java

文件压缩与解压

  • zip格式压缩

将test目录压缩,压缩文件名为:test.zip

[root@reg opt]# zip -r test.zip test
  • zip格式解压缩

将test.zip文件解压缩

unzip -o test.zip
  • tar格式压缩

将test目录压缩,压缩文件名为:test.tar

tar -cvf test.tar test
  • tar格式解压缩
tar -xvf test.tar
  • gz格式压缩

将test目录压缩,压缩文件名为:test.tar.gz

tar -cvzf test.tar.gz test
  • gz格式解压缩
tar -xvzf test.tar.gz

进程管理

  • ps 用于报告当前系统的进程状态,是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
[sre@CDVM-213017031 ~]$ ps -ef | grep AiotIp
  • kill 命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

常用选项:

kill -9 强制终止进程kill -15 正常终止进程

具有相似功能的命令,还有killall、pkill等。

进程/端口

根据端口查进程:

lsof -i:portnetstat -nap | grep port

根据进程号查端口:

lsof -i|grep pidnetstat -nap | grep pid

根据进程名查找pid、port:

ps -ef |grep tomcatps -ef |grep port(根据port查找相关进程)ps -ef |grep pid(根据pid查找相关进程)

网络操作

  • curl curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。
  • wget wget命令用来从指定的URL下载文件。
    示例:
wget http://www.yourserverip.net/testfile.zip 下载文件
  • ping 用来测试主机之间网络的连通性。
[sre@CDVM-213017031 ~]$ ping www.wanda.cnPING www.wanda.cn (10.199.8.10) 56(84) bytes of data.64 bytes from 10.199.8.10: icmp_seq=1 ttl=244 time=50.8 ms64 bytes from 10.199.8.10: icmp_seq=2 ttl=244 time=51.8 ms64 bytes from 10.199.8.10: icmp_seq=3 ttl=244 time=51.0 ms64 bytes from 10.199.8.10: icmp_seq=4 ttl=244 time=53.3 ms
  • telnet 用于登录远程主机,对远程主机进行管理。我常用它来检测端口。
    示例:
[sre@CDVM-213017031 ~]$ telnet 10.213.17.32 10000Trying 10.213.17.32...telnet: connect to address 10.213.17.32: Connection refused[sre@CDVM-213017031 ~]$ telnet 10.213.17.32 10062Trying 10.213.17.32...Connected to 10.213.17.32.Escape character is '^]'.^CConnection closed by foreign host.
  • ifconfig 用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

示例:

[sre@CDVM-213017031 ~]$ ifconfigeth0      Link encap:Ethernet  HWaddr FA:16:3E:7E:55:D1          inet addr:10.213.17.31  Bcast:10.213.23.255  Mask:255.255.248.0          inet6 addr: fe80::f816:3eff:fe7e:55d1/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:31875618113 errors:0 dropped:0 overruns:0 frame:0          TX packets:28230970908 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000          RX bytes:13949365053248 (12.6 TiB)  TX bytes:5198483437608 (4.7 TiB)ifconfig eth0 down 关闭网卡eth0ifconfig eht0 up 启动网卡eth0

系统管理

  • su 用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
  • sudo 以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。
  • du 查看使用空间。
    常用选项:
-a 显示目录中个别文件的大小-b 显示目录或文件大小时,以byte为单位-c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和-k 以KB(1024bytes)为单位输出-m 以MB为单位输出-s 仅显示总计,只列出最后加总的值-h 以K,M,G为单位,提高信息的可读性

示例:

[sre@CDVM-213017031 ~]$ du -h *4.0K    a.sh1.7G    catalina.out317M    collect_sample632K    fix/plugin372K    fix/boot8.0K    fix/script41G fix/log6.1M    fix/lib

性能监测与优化

  • top 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。
    常用选项:
-d:屏幕刷新间隔时间-u
<用户名>
:指定用户名-p
<进程号>
:指定进程-n
<次数>
:循环显示的次数

交互命令:

1:显示全部CPU信息k:终止一个进程i:忽略闲置和僵死进程,这是一个开关式命令q:退出程序o或者O:改变显示项目的顺序m:切换显示内存信息t:切换显示进程和CPU状态信息c:切换显示命令名称和完整命令行M:根据驻留内存大小进行排序P:根据CPU使用百分比大小进行排序T:根据时间/累计时间进行排序

示例:

top -p 25211top - 17:14:06 up 559 days,  4:54,  2 users,  load average: 0.06, 0.01, 0.00Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombieCpu0  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stCpu1  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stCpu2  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stCpu3  :  6.8%us,  3.4%sy,  0.0%ni, 89.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stMem:   4054588k total,  3916560k used,   138028k free,   114260k buffersSwap:        0k total,        0k used,        0k free,   730196k cached  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND25211 sre       20   0 4624m 1.9g   9m S 12.7 49.7   6014:18 java

上面是执行 top -p 25211后,单击“1”后的效果。

  • free 显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
    常用选项:
-b:以Byte为单位显示内存使用情况-k:以KB为单位显示内存使用情况-m:以MB为单位显示内存使用情况-t:显示内存总和列

示例:

[sre@CDVM-213017031 ~]$ free -m             total       used       free     shared    buffers     cachedMem:          3959       3825        134          0        111        713-/+ buffers/cache:       3000        959Swap:            0          0          0

 

转载地址:http://wtsjn.baihongyu.com/

你可能感兴趣的文章
Windows Server 2008 安装教程——图文小白版(附下载地址)
查看>>
Windows Server 2003 安装教程——图文小白版(附下载地址)
查看>>
Jarvis OJ BASIC 公倍数
查看>>
sqli-lab 闯关教程 Less-1
查看>>
sqli-lab 闯关教程 Less-2
查看>>
sqli-lab 闯关教程 Less-3
查看>>
sqli-lab 闯关教程 Less-4
查看>>
sqli-lab 闯关教程 Less-5
查看>>
Ping 命令详解(含真实操作截图)
查看>>
L1-002 打印沙漏 (20分) C++版 AC代码
查看>>
L1-005 考试座位号 (15分) C++版 AC代码
查看>>
L1-049 天梯赛座位分配 (20分) AC代码
查看>>
L1-006 连续因子 (20分) C++版 AC代码
查看>>
C# 计算器窗体程序
查看>>
虚拟机安装winxp系统出现 non-bootable disk 80 的解决办法
查看>>
鼠标指针乱跑的解决方案
查看>>
Windows消息函数
查看>>
C语言编程0基础学习历程(1)——Hello ,World !
查看>>
C语言编程0基础学习历程(2)—— 常量和变量
查看>>
C语言编程0基础学习历程(3)—— 输入输出
查看>>