Linux常用命令和参数详解

1.描述

        对于新手小白来说,必须要清楚常用的操作命令和参数,把握基础

       命令 严格区分大小写和有无空格        

2.基础命令

2.1浏览目录

1)cd  #切换路径  

         change directory    文件夹   路径/目录

        因为Linux系统使用时常常都是命令行操作,也就没有停留在某个界面的说法,而是常常以“路径”来描述。Linux中的路径描述分两种,分别是“绝对路径”与“相对路径”

        绝对路径:从系统根目录开始描述的目录或文件路径称为绝对路径  /***

        相对路径:从非系统根目录(通常为当前位置)开始描述的其他目录或文件路径称为相对路径

        绝对路径的描述更加精确;相对路径的描述更加方便

        绝对路径,shell脚本,自动化程序脚本用的多一些;相对路径,命令行手动写一些命令用相对多一些

        切换路径的命令:

        cd 路径描述    比如cd /home/test  切到/home/test这个目录下

        cd /                         #切换到根目录

        cd ~                         #切换到用户主目录

        cd ..                         #切换到上一级目录

        cd -                         #切换到上一次的目录

        除非在路径开头加/,默认切换路径都是以当前目录为起始的相对路径

                /  #正斜线 常用于Linux系统  

                \  #反斜线 常用于Windows系统

2)pwd  #获取当路径描述

        返回绝对路径  print working directory

        该命令常用于确认当前路径是否符合要求,或是在shell脚本中用于获取当前路径的绝对路径

3)ls  #显示路径下的内容

        包括文件或下一级路径  list

        Linux命令行下,各个路径的内容需要发出指令才会显示内容,不像Windows系统,一旦进入到文件夹,文件夹中有什么内容会直接显示

        ls #默认显示当前路径下的普通文件(一些隐藏文件不会显示)

        ls -l 或者 ll  #显示路径下各目录或文件的详细信息,可简写为ll (注意,不是所有的Linux版本都可以简化该命令),详细内容包括以下内容:

      参数

        -a     列出所有文件,包括以 "." 开头的隐含文件。  

       -r     逆序排列。

       -t     按时间信息排序。

2.2目录及文件

1)mkdir  #创建目录/路径  

        make direcotry

        mkdir dir 在当前路径下创建目录dir (默认情况下,mkdir创建目录时,必须存在父目录,即不能递归创建)

       -p        为所给出的目录建立丢失了的父目录。所建立的父目录的模式  相当于用命令  umask  进行了 'u+wx' 的设置。忽略参数对已存 在的目录的覆盖。(例如:已存在目录/a,当用到命令'mkdir /a'时报错,而'mkdir -p /a'则不会。),也是递归创建

2)touch  #创建文件

        touch filename #在当前路径下创建文件(记得添加后缀)

        touch /path/filename #在指定路径下创建文件

        touch old_filename #修改源文件的修改时间

3)rm  #移除删除文件    

        remove

        rm filename #删除当前路径下的指定文件,会询问确认

!!!慎用移除命令:删除时必须指定删除的内容;别用 rm  -rf  *删天删地删空气,运行完后就跑路。

       -f        忽略不存在的文件,并且从不向用户提示。

       -i         提示是否移除每个文件。如果回答是否定的,文件将被跳过。

       -r        递归地移除目录中的内容。也可以指定这个参数来删除目录

       -v        在移除每个文件之前打印其名称。

4)rmdir  #删除空目录  

        remove directory

        rmdir dir #删除某目录 由于rm既可以删除目录又可以删除文件,习惯上是以rm -r来删除目录

5)cp  #复制文件后文件夹 

         copy

        cp old_path/old_filename new_path/new_filename  可以重命名

        cp -r #可以拷贝目录和目录下的所有文件(递归复制)

               -r     递归复制目录,如果对象不是普通文件或目录那么做一些未  声明处理.

6)mv  #移动或重命名文件或文件夹

         move

        mv old_path/filename new_path/new_filename  #将某个文件从旧路径移动到新路径,相当于剪切,移动时也可以顺便修改名字或是单纯的修改名字而不修改路径,相当于重命名

7)zip,unzip等 #文件的压缩与解压

        zip unzip #压缩与解压缩 压缩包以.zip为后缀

        使用前需下载这两个命令,下载指令:yum -y install zip unzip

        zip compress_name.zip filenames  #将文件压缩并以compress_name命名压缩包

          -r          #递归压缩

          -m         #压缩后删除原始文件

          -q          #隐藏压缩过程

        unzip compress_name.zip #将压缩包解压到当前文件夹

          -d /path         #将压缩包解压到指定文件夹

          -v 或 -l          #显示压缩包内容但不解压

        gzip gunzip  #压缩与解压缩,压缩文件以.gz为后缀

        gzip filenames/* #将指定文件或路径下的文件分别压缩 (注意,没有指定压缩包名字)

        gzip *.txt #将所有txt文件分别压缩 (注意,没有指定压缩包名字)

        gunzip compress_name.gz #将压缩文件解压到当前路径

tar #目录或文件打包,后缀为.tar

        tar -cvf compress_name.tar /path/filenames #将多个文件或目录打包

  -c         #指定多个文件或目录打包

  -v         #显示打包过程

  -f         #指定包名

        tar -xvf compress_name.tar #将包文件解打包

  -x         #指定解打包操作

  -v         #显示解打包过程

  -f         #指定包名

  -C         #(大写) 若解压到指定目录可在后边跟此参数并指定目录

        若想将目录或文件打包后顺带压缩(.tar.gz),或将压缩后的包一并打开,可使用-z参数调用gzip命令

        tar -zcvf compress_name.tar.gz /path/filenames #将多个文件或目录打包后压缩

        tar -zxvf compress_name.tar.gz #将压缩包文件解压后解打包

后边这两种是工作中非常常用的两类命令

8)scp  #远程拷贝命令

        scp local_file [user@]ip:/path[filename] #将本地文件拷贝到目标服务器

        scp [user@]ip:/path/filename local_path[/filename] #将目标服务器文件拷贝到本地

          -r         #目录拷贝

        应用场景:数据库数据文件传输

2.3文本内容

1)vi/vim #文本编辑

        其中:vi命令是系统自带,vim命令另外下载

        安装指令:yum -y install vim

   vi           #非编辑模式

方向键可以改变光标在文件中的位置

Ctrl+F:向下翻页

Ctrl+B:向上翻页

/要查找的内容:可以在文件中查找字符串内容,向后查找

?要查找的内容:向前查找

dd 删除光标当前行内容

u 是撤销

yy:复制一行内容到剪切版

p:将剪切中的内容粘贴到光标当前行的下一行

:s/原文件内容/新的内容 #将光标当前行的内容进行替换,只替换该行第一个出现的所谓原内容

:s/原文件内容/新的内容/gi #将光标当前行的内容进行替换  其中g表示全部, i表示忽略大小写

:%s/原文件内容/新的内容/gi  #全文替换

:w 保存文件

:q 退出vim命令,不保存 --

:wq 保存并退出vi命令 --

:w! 强制保存

:q! 强制退出,不保存 --

:wq! 强制保存并退出

:set ff查看文件格式(unix和dos 另外还有mac格式)应用场景:传输文件的时候 

        i进入编辑模式,光标在当前行

        o进入编辑模式,光标在当前行的下一行(创建一个新行)

        ESC退出编辑模式

2)查看整个文件内容

        cat #完整查看文件内容

        cat path/filename 查看文件filename中的内容,可在文件前指定路径

        tac #倒叙完整查看文件内容

        more #分页查看文件内容,空格或者回车向下翻页

        more path/filename

        less  #分页查看文件内容,空格或回车向下翻页(退出时需要输入q)

        less path/filename

3)查看部分文件内容

        head #从文件的开始位置查看文件的若干行

        head [-n] path/filename:n是一个正整数,表示查看文件的前n行数据

        tail #从文件的末尾查看文件若干行

        tail [-n] path/filename:n是一个正整数,表示查看文件的后n行数据

        tail  -f:动态地查看文件的最新内容 :应用场景一般查看是日志文件  常用实时查看输出内容

        Ctrl+C 退出查看

4)sort #文件内容排序

        默认情况下会以字符为排序标准,若想以数值排序,需加-n参数

       -b     忽略排序字段或关键字中开头的空格

       -l     按照当前环境排序.

       -r     颠倒比较的结果.

       -s     通过屏蔽最后的再分类比较来稳定排序.

       -n     按照字符串的数值顺序比较,暗含-b

5)grep #搜索

        grep #搜索符合的行

        grep str filename 从文件中找到含有str的行

  -v         改为查找不含str的行

  -n         显示符合要求的行的行号

  -c         显示符合要求的行的数量

   -i         忽略大小写

   -E        将模式 PATTERN 作为一个扩展的正则表达式来解释  开启正则表达式

   -q        安静,不向标准输出写任何东西

        find #搜索符合的文件或目录

        find [/path] -name xxx 从目录(若未指定则为当前目录)中找到名为xxx的文件或目录

        find -type f 显示当前目录及子目录中的普通文件  file

               -type d 显示当前目录及子目录中的路径  directory

Linux常用命令和参数详解_第1张图片

6)printf #打印

        printf '格式字符串' 文本内容或文件

  %s:        字符串  \n 换行

  %d:        数字  --

  %m.nf:        表示小数,其中m是总长度 n是小数精度

        printf '%s %s\n' 1 2 3 4 5 6

        printf '(%s)\n' 1 2 3

常用转义字符:

\n         换行

\r         回车

\t         水平制表符 (tab)

\v         垂直制表符

\\         表示\本身

7)wc #计数

        (word count)

        wc filename 查看指定文件的行数、单词数、和大小

        -w         查看单词数

        -l           查看行数

        -c          输出字节统计数

8)cut #截取

        cut -f n -d '分隔符'

          -f         指定被截取的列

          -d         指定以何种符号判定列与列的分隔 默认为一个tab键

9)sed #流编辑器

        一行数据→经过sed指令处理→一行新数据

参数:

  -n         显示处理结果

  -i         使编辑指令作用到文件

指令:

  nd         删除 n为正整数,将第n行删除

  s          替换 后跟替换格式,和之前vi编辑器中差不多

  np         打印 n为正整数,将第n行打印 通常和-n参数使用

  ni          添加 后跟字符串,n为正整数,在第n行之前添加内容

  na         添加 后跟字符串,n为正整数,在第n行之后添加内容

        sed 's/xxx/yyy/' filename 将文件中每一行的xxx替换为yyy显示  --不用再加%

        sed '2p' filename 将文件中的第二行额外打印 添加-n后只有第二行打印

2.4 其他命令

1)clear #清屏

          cmd窗口中也有个相同功能的命令:cls

2)echo - 输出内容

        echo str 输出指定内容

        echo $var 输出变量内容  eg:$HOSTNAME -计算机名 $PWD -当前路径 $USER当前用户

3)输出重定向

        command > output_file

        将命令结果输出到某文件,若文件不存在则直接创建,若文件存在则覆盖

        command >> output_file

        将命令结果输出到某文件,若文件不存在则直接创建,若文件存在则追加

        应用场景 记录日志

4)|  管道符

        命令 | 命令  #将前面的命令的执行结果,作为参数,传下一个命令

        head -1 xxx.txt | sed 's/yy/zz/g' 将文件xxx.txt中的第一行查出,并将其中的yy替换成zz

5)command << #多行输入命令

        command <

        >EOF

        应用场景:将会常用于sqlplus中

3. 用户权限常用

1)用户相关

        useradd - 添加用户

  -d         默认会在/home目录下为用户创建同名的主目录,通过-d可指定主目录 另若该目录不存在,建议加上-m

  -g         指定用户所属的用户组

  -G         指定用户所属的附加组 在对应用户登录状态下使用groups命令可返回该用户属组信息

    (用户可归属多个用户组,其中通过-g指定的为主组,-G指定的为附加组,以,分隔)

        userdel - 删除用户

          -r         删除用户及用户下所有内容        

        usermod - 修改用户   修改参数如useradd

        passwd  - 修改密码

        passwd user 输入两次密码确认

        su      - 切换用户

        su - user 切换用户 通过root用户切换至其他用户时不用验证密码,可通过exit退出到之前的用户

        who - 查看登录系统的用户

        whoami - 查看当前用户

2)组相关

        groupadd - 添加组

                groupadd group

        groupdel - 删除组

                groupdel group

        groupmod - 修改组

          -n         修改组名

3)权限和所属

rwx                          rwx                                    rwx

创建用户(属主)创建用户所属组(属组)           其他用户

2进制

r 4 读 ,w 2 写 , x 1执行

rw-r--r--  6  4  4

755  #rwxr-xr-x

644  #rw-r--r--

        chmod - 改变权限

                  -R 当对象为目录时,改变目录及目录下所有子内容权限

        chown - 改变所属

        chown user filename 改变属主

        chown user:group filename 改变属组

                  -R 当对象为目录时,改变目录及目录下所有子内容所属

4. 网络常用命令

1)ping #连通性测试命令

        ping ip地址|域名

2)ssh #远程登录命令

        ssh user@ip[:端口号]

                1) ip正确

                2) 对应机器是开着的

                3) 防火墙没有限制或者开放了连接端口

                4) 处在同一个网络上

3)网络相关命令

                ip addr - 查看网卡信息

                ifconfig - 查看网卡信息

                网卡文件位置:/etc/sysconfig/network-scripts/ifcfg-enp0s3 

设置为静态IP的方法

--step1:将IP获取方式改为静态

BOOTPROTO="static"

--step2:添加IP信息

IPADDR="192.168.10.123"     # 设置的静态IP地址

NETMASK="255.255.255.0"     # 子网掩码

GATEWAY="192.168.10.2"      # 网关地址

--step3:重启网络服务

systemcel restart network

        hostname - 计算机名查看

        hostnamectl - 计算机名修改

                hostnamectl set-hostname new_name

        ip映射(本地解析)文件:/etc/hosts

                可添加:ip hostname

防火墙设置

centos6及以前版本

service iptable stop  #关闭防火墙

service iptable start #打开防火墙

chkconfig iptable off #永久关闭防火墙

centos7及以上版本

systemctl stop firewalld     #停止防火墙

systemctl start firewalld    #开启防火墙

systemctl status firewalld   #查看防火墙状态

systemctl disable firewalld  #使防火墙不可用(不会停止防火墙)

systemctl enable  firewalld  #使防火墙可用(不会开启防火墙)

5. 系统常用

1)ps -ef #进程查看

        ps -ef | grep xxx  直接查找有关xxx的进程

                ps -ef | grep java

2)kill -9 pid #强制结束某进程

        结束进程时写进程号即可 注意不要写错 也不要写父进程

3)df -h #查看硬盘使用情况

        已用和可用相加并不一定等于总计  这是系统本身的原因

4)free -h #查看内存使用情况

        物理内存和交换分区 物理内存上的负荷将满会将一部分进程挪到swap交换空间,等物理内存释放资源后挪回

你可能感兴趣的:(Linux,linux)