Linux常用命令-持续更新中 有更新!

Published on with 819 views

工作中用到的常用命令

一个好用的网站
Linux命令大全
基本囊括所有的Linux命令
个人使用,因此仅收集开发过程中使用频率比较高的命令
现在

网络

  • 1.netstat命令
    场景:知道某个应用的端口,找到该应用的PID
    netstat -tunlp|grep 2181

  • 2.lsof -i:端口号
    查看端口号是否占用,并且返回信息

COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    1792 root   49u  IPv4 3134597      0t0  TCP *:webcache (LISTEN)
  • 3.curl 文件传输工具

curl的功能比较强大 ,作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征

详细的可以查阅相关资料

例如:curl -O https://github.com/java-decompiler/jd-gui/releases/download/v1.4.1/jd-gui-osx-1.4.1.tar

将该文件下载至本地并以原文件名进行保存

  • 4.wget 用来从指定的URL下载文件

例如:wget https://github.com/java-decompiler/jd-gui/releases/download/v1.4.1/jd-gui-osx-1.4.1.tar

下载该文件

系统

  • 1.df命令 显示磁盘的相关信息
    场景:服务器磁盘满了等等,如果有进行日常维护的话是不会出现这种问题的

df -lh

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G  5.3G   42G  12% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M   24K  920M   1% /dev/shm
tmpfs           920M  580K  919M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
tmpfs           184M     0  184M   0% /run/user/0
  • 2.du命令 显示每个文件和目录的磁盘使用空间

例如:du -sh 输出该目录下的文件总大小,以M为单位

  • 3.uname

例如:uname -a 输出系统的信息

Darwin zhaxiaoweideMacBook-Pro.local 18.2.0 Darwin Kernel Version 18.2.0: Thu Dec 20 20:46:53 PST 2018; root:xnu-4903.241.1~1/RELEASE_X86_64 x86_64

可以知道系统的操作系统、内核版本等等信息。

  • 4 chmod 用来变更文件或目录的权限

使用ls -l命令显示的内容如下:

 -rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

以上输出详细说明:

- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写和执行
- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7
- 1 表示连接的文件数
- root 表示用户
- root表示用户所在的组
- 1213 表示文件大小(字节)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名

改变权限的命令

chmod 改变文件或目录的权限
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
  • 5 chown 改变某个文件或目录的所有者和所属的组

chown root ./abc

  • 6 chgrp 用来改变文件或目录所属的用户组

chgrp root abc

权限有关的命令在多用户环境下需要详细设置,很多不能直接使用权限较高的roo账户,因此需要设置相关权限,而且基于某些安全策略,也需要设置可读权限可执行权限用户组权限等等。

  • 7 ln 用来为文件创件连接

ln -fs python3 python

之前安装的是python2,安装python3之后,使用如上命令建立软连接,使用python3作为python的默认版本。

监控

  • 1.top命令 显示系统进程列表信息

image.png


  • 2.free命令 显示系统使用和空闲的内存情况

free -m

               total        used        free      shared  buff/cache   available
Mem:           1838         500         328           0        1010        1141
Swap:             0           0           0

  • 3.ps命令 显示当前系统的进程状态

ps -ef | grep java

root      1792     1  2 Mar12 ?        19:11:05 /usr/local/java/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat9 -Dcatalina.home=/usr/local/tomcat9 -Djava.io.tmpdir=/usr/local/tomcat9/temp org.apache.catalina.startup.Bootstrap start
root     26294     1  0 Mar15 ?        00:33:32 /usr/local/java/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /data/zookeeper/bin/../build/classes:/data/zookeeper/bin/../build/lib/*.jar:/data/zookeeper/bin/../lib/slf4j-log4j12-1.7.25.jar:/data/zookeeper/bin/../lib/slf4j-api-1.7.25.jar:/data/zookeeper/bin/../lib/netty-3.10.6.Final.jar:/data/zookeeper/bin/../lib/log4j-1.2.17.jar:/data/zookeeper/bin/../lib/jline-0.9.94.jar:/data/zookeeper/bin/../lib/audience-annotations-0.5.0.jar:/data/zookeeper/bin/../zookeeper-3.4.13.jar:/data/zookeeper/bin/../src/java/lib/*.jar:/data/zookeeper/bin/../conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /data/zookeeper/bin/../conf/zoo.cfg
root     28378 16201  0 18:18 pts/0    00:00:00 grep --color=auto java

文件

  • 1.cp命令 将目录下的所有文件拷贝到另外的文件夹

例如:cp -r dir1/. dir2

  • 2.vi命令 编辑文件内容

例如:vi /etc/profile
进入后按i进入编辑模式,编辑完成后输入冒号,输入wq进行保存并退出,或者输入q!不保存退出。

  • 3.tail命令 用于输出文件内容

例如:tail -f error.log 显示该日志文件最新追加的内容,也就是打印实时日志

  • 4.touch命令

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

使用vi命令也可以新建文件

  • 5.rm命令 删除操作不可恢复 慎重

例如:rm -f myfile

  • 6.sed命令 能够对文档内容进行编辑 能够配合正则表达式使用

例如:sed -n ‘p;n’ test.txt

Responses