常用Linux命令

虽然说Linux命令需要记忆,但是要建立在理解语法的基础上,去记,这样就算看到新的命令,也只是更容易上手。

日常用到Linux命令的时候,不要盲目去记,先去理解,看语法构成,再形成记忆,纳入自己对Linux的了解体系中。

Linux:Shell 内置命令,外部命令。

一、给文件授权命令:

chmod [who] [+/-/=] [mode]  文件名|文件夹名   (记忆点:这个定义的每个部分的含义

*)  who :赋权给谁,值如下:

u  user  用户

g  group  用户组

o  others  其他用户

a  all    所有用户

*)  +/-/= 

+ : 加

- :减

= :重新分权限

*)[mode]  :分配的权限类型

r :  read  读权限,数字代号4

w : write  写权限,数字代号2

x : 可执行的权限,数字代号1

*)例子:

##)  chmod 777 filename

操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。

##)  chmod 754 filename

将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。

二、查看文档的命令:

cat:查看文档所有内容。(记忆点:全拼concatenate,意思是“连接的”,用于连接文件并打印到标准输出设备上)。

more:分页查看文档,按空格向下分页,按q退出

less:PgUp , PgDn 翻页

tail :  查看文件尾,tail -f xxx.log  动态查看文件尾的新内容。(记忆点:tail,含义“尾巴”。所以可以记成在文件尾追加,∴是动态的)。

  tail -1000f nohup.out   动态查看最后1000行

操作文档的命令:

cp : 复制文件或目录的命令。

mv (记忆点:理解记忆,move移动文件,想一下会有哪些参数,就想到这个命令大概怎样写了

  移动(也就是剪切) 改名

三、日常常用命令

*)pwd  :显示当前所在目录的完整路径。

*)history  :查看当前登录这次,输入过的所有命令行

*)su  :变更账号。(记忆点:英文全拼:swith user。命令用于变更为其他使用者的身份

*)sudo  :以root身份执行命令

*)ifconfig  :相当于DOS下的ipconfig

  在Ubuntu里第一次执行这个命令,会出现:

        

 

 

  不安装的情况下, 查询ip地址可以使用命令:ip addr show

  

 

 

*)ping www.baidu.com  :测试是否连外网

*)which mysql  : 在环境变量里查找符合mysql的。(记忆点:命令很口语化,见词知义)

*)whereis mysql  :查找mysql文件(记忆点:命令很口语化,见词知义

*) ~:当前用户的根目录,也就是当前登录用户的用户目录。例子:cd ~/tomcat

  比如:我登录用户是chen
  cd ~
  ~ 代表的就是 /home/chen/

*) Linux结束前台运行程序的命令:Ctrl+C

*) Linux主机登录另外一台linux服务器,直接在命令行提示符下输入:

  ssh 账号@IP地址即可
  比如:
  ssh oracle@192.168.10.13
  然后按照提示输入密码. 一切无误则进入该远程主机.

  下图参考自菜鸟教程:https://www.runoob.com/linux/linux-remote-login.html

 

 

四、系统常用命令

*)yum install sar  : yum安装软件包

  yum是在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。使用它需要先安装yum。安装yum需要使用rpm命令,rpm命令是Linux专门用来管理程序安装卸载等的命令,是Linux系统里自带的。(百度一下可以看到各Linux系统发行版如何安装yum)。

*) rpm

  Linux rpm 命令用于管理套件。

  rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

*) wget URL :从URL地址下载软件包的命令。

*) apt :ubuntu系统上常用的安装软件包的命令。

*)make :编译和安装软件包的命令。

*)uptime  :显示系统的运行情况参数。

*)top  : 查看进程,相当于任务管理器。并且头部会显示系统运行和CPU、内存的使用情况(第一行和uptime命令的显示一样)。

      会像任务管理器一样不停自动滚动。按q键退出。

      (记忆点:像任务管理器一样,动态变化

*) who

who   查看当前登录用户的账户名

*)whoami:    查看当前登录用户的账户名

*)w  : 显示登陆系统的所有用户,和用户的请求情况

*)vmstat -s  :查看内存使用情况,虚拟内存交换情况,CPU使用率,IO读写情况。相比top命令,这个命令可以看整个机器的CPU,内存,IO的使用情况,而不是单单看各个进程的CPU使用率和内存使用率。这两个命令的使用情况场景不同:

    -s:显示内存相关统计信息及多种系统活动数量: 

  

*)free -m  :查看内存的使用情况

  •   -m  以MB为单位显示内存使用情况。:  

  

*)df -hT   :(英文全拼:disk free)查看各个系统目录所占的磁盘空间。

  这个命令查不出未挂载的磁盘:

  

*)   lsblk

  可以查看所有的磁盘,包括未挂载的:

  

 

*) 使用fdisk -l 查看硬盘的详细信息:

   

 

 

*)sar 5 5  : sar是Linux里全面的性能管理工具。可以从多方面查看liunx系统,包括CPU、内存、磁盘IO、系统调用情况、文件读写等。

  sar  5(采样间隔,时间s)  5(采样次数)  

*)service network start:设置配置文件后,重启网关,使生效

*)ulimit   :用来设置和查看Linux的各种资源参数。

  ulimit -n查系统最大连接数: 

   

*)help命令:(参考:http://c.biancheng.net/view/770.html)

  man help  :查看所有的内置命令

  

  help 内置命令  :查看shell内置命令。这个命令只能查看shell内置命令的帮助信息。但Linux的大部分命令是外部命令。

  如果用“help 命令”查看了外部命令,会提示报错:

  

   命令 --help  :大多数命令(无论内部命令还是外部)都可以用“命令 --help”来查看help的帮助信息,比如:sar --help

五、运维常用命令

*)ps -ef|grep nginx  :

  ps命令:(英文全拼:process status)命令用于显示当前进程的状态,显示进程的信息,类似windows的任务管理器。

  -ef是ps命令中的option参数

  #)grep命令:

    grep的中文翻译是:正则表达式;查找字符串;

    单独的grep命令,用来查找在某些文件里,匹配某些文字的行。语法:

    grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]  

  |和grep:| 表示管道,上一条命令的输出,作为下一条命令参数

*)kill -9 进程号

kill 是Linux的内置命令

-9  option参数,9表示杀死一个进程,(记忆点:参数9表示操作含义)还有其他参数:

  • 1 (HUP):重新加载进程。
  • 9 (KILL):杀死一个进程。
  • 15 (TERM):正常停止一个进程。

*)netstat -anp|grep 8080  查看8080端口的pid 等进程情况,然后再用kill -9  pid 杀死进程

   netstat 命令的结果,经由管道,和grep命令的组合。

   netstat命令:显示网络状态。语法:

    netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

    参数含义:

      • -a或--all 显示所有连线中的Socket。
      • -l或--listening 显示监控中的服务器的Socket。
      • -n或--numeric 直接使用IP地址,而不通过域名服务器。
      • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
      • -t或--tcp 显示TCP传输协议的连线状况。

*)netstat -ntlp   查看端口情况

   见上

 

*)lsof -i:端口号,查看端口占用情况

 

 

*)nohup

   英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

   默认输出日志到当前执行命令的目录下的nohup.out中。如果没有这个文件,会自动创建。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

  停止的时候,可以用  ps -aux | grep "xx.sh"   查找pid,然后用kill命令杀死进程。 

*)启动常用命令:

使用指定版本java启动项目,并把日志重定向到文件里,在后台执行命令(&表示在后台执行,不占用控制台):

nohup /usr/local/jdk1.8/bin/java -jar /home/demo1/grabboot/grab-web.war > catalina.out 2>&1 &

 

使用指定nginx、指定配置文件  启动前端项目:

/usr/local/nginx/sbin/nginx -c /home/demo1/nginx-1.17.0/conf/nginx.conf

 

nohup java -jar -Dserver.port=8087 platform-web.jar > uni.log &

 

nohup java -jar /data/demo1/platform-web.jar --server.port=5050 --spring.profiles.active=test &

 

 

*)管道符

  管道符是: | 。

  执行格式:“命令A|命令B”    或者“命令A|命令B|命令C”多个组合。

  作用:把前一个命令本来要输出到屏幕上的标准正常数据,当做是后一个命令的标准输入。

  和下面的“标准输入/输出/错误重定向”类似,用来把多个命令组合在一起(也可以根据需要和“标准输入/输出/错误重定向”组合),用来实现一个效果。管道符就像一个法宝,可以把它套用在不同的命令上,方便的实现很多效果。

#)输入重定向、输出重定向。参考:https://www.linuxprobe.com/chapter-03.html#32

  输入重定向:标准输入重定向。

  输出重定向:标准输出重定向、错误输出重定向。输出重定向的模式分为:清空写入、追加写入。

   ##)标准输入重定向 (左尖括号<)

    STDIN,文件描述符为0。

    标准输入默认 从键盘输入内容,也可以从其他文件或命令输入。重定向是指,把文件导入到命令中。

                              输入重定向的符号和作用:

符号 作用
命令 < 文件 将文件做为命令的标准输入
命令 <<分界符 从标准输入中读取文件,直到遇到分界符才停止
命令<文件1>文件2 将文件1作为命令的标准输入,并将标准输出到文件2

   ##)标准输出重定向

    STDOUT,文件描述符为1

    标准输出默认 输出到屏幕(控制台)。重定向是指,把原本输出到屏幕的数据信息重定向(写入)到指定的文件中。

   ##)错误输出重定向

    STDERR,文件描述符为2

     错误输出重定向 默认输出到屏幕(控制台)。重定向是指,把原本输出到屏幕的报错信息重定向(写入)到指定的文件中。

输出重定向的符号和作用:
含义 作用
命令>文件 将标准输出重定向到文件中(清空原有文件数据,即,清空写入)
命令 2>文件 将错误输出重定向到文件中(清空原有文件数据,即,清空写入)
命令>>文件 将标准输出重定向到文件中(追加到原有文件内容的后面,即,追加写入)
命令 2>>文件 将错误输出重定向到文件中(追加到原有文件内容的后面,即,追加写入)

命令>>文件 2>&1

或者

命令 &>>文件

将标准输出和错误输出共同重定向写入到文件中(追加到原有文件内容的后面,即,追加写入)

 

六、shell 命令

  #)echo 

  shell的内置命令,用于输出字符串。可以直接输出到标准输出。也可以用重定向符号,重定向到文件中。

七、Linux命令中的通配符

 星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。

 

posted @ 2019-04-12 08:49  夏天的尾巴%  阅读(164)  评论(0编辑  收藏  举报