1.Linux终端命令格式

 #命令 选项 参数

        command [-options] [parameter]

        ls -l

        说明:

                command :命令名,相应功能的英文单词或单词的缩写

                [-options] :选项,可用来对命令进行控制,也可以省略

                parameter :传给命令的参数,可以是零个、一个或者多个

注:[] 代表可选

2.文件和目录常用命令

ls是英文单车list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的 dir 命令。

Linux下文件和目录的特点:

  1. Linux文件或者目录名最长可以有 256 个字符
  2. .”代表当前目录
  3. ..”代表上一级目录
  4. .开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用选项

参数含义
-a显示指定目录下所有子目录与文件,包括隐藏文件
-l       以列表方式显示文件的详细信息
-h       配合-l以人性化的方式显示文件大小

-l详细信息含义如图所示:

通配符的使用

通配符含义
*文件代表文件名中所有字符(0个或多个)
?       代表文件名中任意一个字符
[]表示可以匹配字符组中的任意一个
[abc]匹配a,b,c中的任意一个
[a-f]匹配从a到f范围内的任意一个字符

示例:

  1. 星号(*)代表匹配零个或多个字符
    1. ls -l /dev/s*        //查找dev下以s开头的文件(包含隐藏文件)

  2. 问号(?)代表匹配单个字符
    1. ls -l /dev/s?               ///dev/sda1 /dev/sda2       
  3. 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符
    1. ls -l /dev/sda[0-9]
    2. ls - /dev/sda[135]

创建和输出操作

        touch:创建文件或修改文件时间     

             示列:

              touch dml

              touch /home/dml

注意:

  1. 如果文件不存在,可以创建一个空白文件
  2. 如果文件已经存在,可以修改文件的末次修改日期

  

        mkdir:创建一个新的目录

选项含义
-p可以递归创建目录

             示列:

                        mkdir dml

                        mkdir /home/dml  

注意:

  1. 新建目录的名称不能与当前目录中已有的目录或文件同名。

        rm:删除文件或者目录

参数含义
-i以进行交互式方式执行
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容,删除文件夹时必须加此参数

                示列:

                        rm dml

                        rm dml1 -r

拷贝和移动文件

命令对应英文作用
cp 源文件 目标文件copy复制文件或者目录
mv 源文件 目标文件move移动文件或者目录/文件或者目录重命名

cp 命令的功能是将给出的 文件或目录 复制到另一个 文件或目录中,相当于DOS 下的 copy 命令。

用法:     cp [选项]... [-T] 源文件 目标文件

 或:     cp [选项]... 源文件... 目录

 或:     cp [选项]... -t 目录 源文件...

常用选项说明:

选项含义
-a将文件的特性一起复制
-p连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i若目标文件已经存在时,在覆盖时会先询问操作的进行
-r递归持续复制,用于目录的复制行为
-u目标文件与源文件有差异时才会复制

        示例:

                cp -p -r test2 test3

                cp test1 ./dml/

用户可以使用 mv 命令来移动文件或目录,也可以给文件或目录重命名。

用法:     mv [选项]... [-T] 源文件 目标文件

 或:     mv [选项]... 源文件... 目录

 或:     mv [选项]... -t 目录 源文件...

选项含义
-f禁止交互式操作,如有覆盖也不会给出提示
-i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户 回答以避免误覆盖文件
-v显示移动进度
-u若目录文件已存在,且比目标文件新,才会更新

        示例:

                mv -f -u test3 test2

                mv ./dml/test2 ./            //dml目录下的test2移到当前目录下

查看文件内容

命令对应英文作用
cat 文件名concatenate查看文件内容、创建文件、文件合并、追加文件内容等功能
more 文件名 move分屏显示文件内容
grep 文件名grep搜索文本文件内容

cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能

cat 会一次显示所有内容,适合 查看内容较少 的文本文件

用法:     cat [选项]... [文件]...

选项含义
-b对非空输出行编号
-n对输出的所有行编号

示例:

        cat test

more 命令可以用于分屏显示文件内容,每次只显示一页内容

适合于 查看内容较多的文本文件

用法:     more [选项] 文件...

操作键功能
空格键显示手册页的下一屏
Enter键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串

示例:

        more test1

Linux系统中 grep 命令是一种强大的文本搜索工具

grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式

用法:     grep [选项]... PATTERN [FILE]...

选项含义
-v显示不包含匹配文本的所有行(取反)
-n显示匹配行级行号
-i忽略大小写

grep搜索内容串可以是正则表达式。

grep 常用正则表达式:

参数含义
^行首,搜寻以 m 开头的行;grep -n '^a' 1.txt
$行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt
[Ss]igna[Ll]匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt
\转义字符,忽略正则表达式中特殊字符的原有含义

示例:

        grep ‘as’ test1          //显示在test1文件中匹配’as’的行

        grep ‘\{5\}’ test1    //显示所有包含每个字符串至少有5个连续小写字符的字符串的行

系统信息相关命令

        重启与关机

命名作用说明
reboot重新启动操作系统执行命令后立即重启操作系统
shudown关闭操作系统执行命令后,提示1分钟后关闭操作系统

        示列:

                

                Linux会进行重启操作。

shutdown 命令的选项:

命令含义
shoutdown -r now重新启动操作系统,shutdown会给别的用户提示
shoutdown -h now立刻关机,其中now相当于时间为0的状态
shoutdown -h 20:25系统在今天的20:25 会关机
shoutdown -h +10 系统再过十分钟后自动关机

ps查看系统进程:

所谓进程,通俗的讲就是 当前正在执行的一个程序

命令含义
ps -auxprocess status 查看当前系统中正在执行程序的详细状况
kill [-9] 进程代号终止指定代号的进程,-9表示强行终止
top动态显示运行中的进程并且排序

示例:

        ps -aux                               //查看当前内存中所有进程

        ps -aux|grep 6379           //查找指定端口号的进程

        kill -9 6379                        //终止PID6379的进程

ps 默认只会显示当前用户通过

终端启动的应用程序

ps 选项说明

选项含义
-a显示终端上的所有进程,包括其他用户的进程
-u显示进程的详细状态
-x显示没有控制终端的进程

说明:

        USER:该 process 属于那个使用者账号的

        PID :该 process 的号码

        %CPU:该 process 使用掉的 CPU 资源百分比

        %MEM:该 process 所占用的物理内存百分比

        VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

        RSS :该 process 占用的固定的内存量 (Kbytes)

        TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

        STAT:该程序目前的状态,主要的状态有

        R :该程序目前正在运作,或者是可被运作

        S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

        T :该程序目前正在侦测或者是停止了

        Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

        START:该 process 被触发启动的时间

        TIME :该 process 实际使用 CPU 运作的时间

        COMMAND:该程序的实际指令

每一个进程拥有唯一的pid,可以根据pid杀死进程,如:

kill 12478kill -9 12478(强制杀死)

注意:显示瞬间进程的状态,并不动态连续,如果想对进程运行时间监控,应该用top命令

查看系统监听的端口

        netstat 命令用于显示各种网络相关信息

        常用于查看软件打开的端口信息

        注意:一般需要root用户权限,才能看到更详细的端口信息

命令作用说明
netstat用于查看显示网络状态
netstat -anptu查看所有的进程和端口使用清空一般用来查看端口被哪些程序使用,但是我们不单独使用
netsta -anptu \ grep mysql

结合grep查找指定程序打开的端口

比如这里查找的就是mysql 正在使用的端口号

选项说明:

选项含义
-a显示所有已打开的端口
-n不用别名显示,只用数字显示
-p       显示进程号(pid)和进程名
-t显示所有tcp协议端口
-u显示所有udp协议端口

lsof(list open files)是一个列出当前系统打开文件的工具

可以用于查看系统中正在使用端口的详细信息

注意:一般需要root用户权限,才能看到更详细的端口信息

命令作用说明
lsof -i如果不给出条件,则默认显示所有进程打开的所有文件
lsof -i:3306列出使用端口3306的进程信息这里是查看3306这个端口被哪个应用程序占用了

提示:linux系统中安装软件时,会出现因为端口被占用而无法安装的情况,这个时候就需要我们用lsof -i命令查看安装软件要使用的端口是否被占用。

查看日志信息

        head 命令

命令作用说明
head用来显示文件前10行的内容如果不加参数默认显示文件前10行内容
head -15 文件名显示文件前15行内容

例子:查看某个文件的开头10行内容:head -10 temp.txt

提示:一般用于,想要查看一个很大的文件前几行内容时使用。

  

        tail 命令

命令作用说明
tail显示文件后10行内容如果不加参数默认显示文件后10行内容
tail -15 文件名显示文件结尾15行内容
tail -f 文件名实时监控文件内容用于查看线上服务的运行日志,实时显示写入日志的信息

例子1:查看某个文件的结尾10行内容:tail -10 temp.txt

tail -f 实例

实时监控文件变化:

  1. 不停的向文件写入内容:ping www.baidu > temp.txt
  2. 实时监控:tail -f temp.txt

用户权限和管理

        用户 和 权限 的基本概念

对 文件/目录 的权限包括:

权限英文缩写数字代号
readr4
writew2
执行executex1
无权限-0

 chmod 命令-字母法

  1. chmod 修改文件权限有两种使用格式:字母法与数字法
  2. 字母法:chmod u+r 文件名

用户类型:

用户含义
uuser 表示该文件的所有者
ggroup 表示于该文件的所有者属于同一组(group)者,即用户组
oother 表示其他以外的人
aall 表示这三者皆是

权限设置:

增减含义
+增加权限
-撤销权限
=设定权限

示例:

#将文件 file1.txt 设为所有人皆可读取

chmod ugo+r file1.txt

或者:

chmod a+r file1.txt

#将目前目录下的所有文件与子目录皆设为任何人可读取 :

chmod -R a+r *

chmod 命令-数字法

        chmod 在设置权限时,可以简单的使用三个数字分别对用 拥有者 /组和其他用户的权限

        数字法:chmod 755 文件名

        权限对照图:

常见数字组合有(u表示用户/g表示组/o表示其他):

777 ===> u=rwx, g=rwx, o=rwx

755 ===> u=rwx, g=rx, o=rx

644 ===> u=rw, g=r, o=r

此外chmod也可以用数字来表示权限如 :

chmod 777 file

用户管理

        查看命令位置:which

命令含义
which ls查看ls命令在系统中的位置
which python查看python程序安装在系统中的位置

       

        切换账号: su

命令作用说明
su -切换到root用户
su -用户名切换到指定的用户,并切换目录-可以切换到用户家目录,否则位置保持不变

        su 不接用户名,可以直接切换到 root,但是不推荐使用,因为不安全。

        设置用户密码:passwd

        在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。

        用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。

命令作用说明
passwod 用户名设置用户名如果是普通用户,直接用passwd可以修改自己的账号密码

        退出登录账户: exit

                如果是图形界面,退出当前终端;

                如果是使用ssh远程登录,退出登陆账户;

                如果是切换后的登陆用户,退出则返回上一个登陆账号。

      

         查看登录用户:who

                who命令用于查看当前所有登录系统的用户信息

命令作用说明
who查看当前所有登录系统的用户信息

                常用选项:

选项含义
-q 或 --count只显示用户的登录账号和登录用户的数量
-u 或 --heading显示列标题

其他命令

        查找文件:

        find命令功能非常强大,通常用来在特定的目录下 搜索符合条件的文件。

命令作用
find [路径] -name"*.py"查找指定路径下扩展名是.py的文件,包括子目录

        如果省略路径,表示在当前文件夹下查找

        之前学习的通配符,在使用 find 命令时也可用

        常用用法:

命令作用
find . -name test.sh查找当前目录下所有名为test.sh的文件
find .-name'*.sh'查找当前目录下所有后缀为.sh的文件

        软连接:

         In -s

命令作用
ln -s 源文件 链接文件建立文件的软连接,用通俗的方式讲 类似于Windows下的 快捷方式

        注意:

                软链接只是指向源文件的一个链接(可以理解为快捷方式)

                源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够                   正常使用

                软链接可以链接目录

        硬链接简介

                 在使用 ln 创建链接时,如果没有 -s 选项,会创建一个 硬链接,而不是软链接

                两个文件大小时相同的,即使删除了源文件,链接文件还是存在,所以软链接是更常用的方式。

        打包和压缩:

                打包压缩 是日常工作中备份文件的一种方式

                在不同操作系统中,常用的打包压缩方式时不同的

                        Windows 常用 rar

                        Mac 常用 zip

                        Linux 常用 tar.gz

                tar打包/解包

                        tar 是 Linux 中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把打包的文件恢复成一系列文件。

tar命令即可打包,也可解包,但tar只打包,并不实现压缩)

                        tar 使用格式如下:

                        #打包文件

                        tar -cvf 打包文件.tar 被打包的文件/路径...

                        #解包文件

                        tar -xvf 打包文件.tar

        tar 常用选项说明:

参数含义
-c新建打包文件
-v列出归档解档的详细过程,显示进度
-f指定档案文件名称,f后面一定时.tar文件,所以必须放选项最后
-t列出档案中包含的文件
-x解开档案文件
-j通过bzip2的支持进行压缩/解压缩
-z通过gzip的支持进行压缩/解压缩
-C dir指定压缩/解压缩的目录dir

        注意:

                f 选项必须放在最后,其他选项顺可以随意

                注意-c、-t-x不能同时出现在同一条命令中

        示例:

        #压缩

        tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称

        #查询

        tar -jtv -f filename.tar.bz2

        #解压

        tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

        压缩/解压缩

                targzip命令结合使用实现文件 打包、压缩。

                tar只负责打包文件,但不压缩

                用gzip压缩tar打包后的文件,其扩展名一般用 xxxx.tar.gz。

                gzip使用格式如下:

                gzip [选项] 被压缩文件 (gzip -r xx.tar)

                常用选项:

选项含义
-r压缩所有子目录
-d解压
-c解压缩到指定的目录,注意:要解压缩的目录必须存在

                  tar 命令中增加一个选项 -z 可以调用 gzip 实现了一个压缩的功能,实行一个先包                           后压缩的过程。

                命令格式如下:

                # 压缩文件

                tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...

                # 解压缩文件

                tar -zxvf 打包文件.tar.gz

                # 解压缩到指定路径

                tar -zxvf 打包文件.tar.gz -C 目标路径

     

                bzip2(two)

                tarbzip2 命令结合使用实现文件打包、压缩(用法和 gzip 一样)

                tar 只负责打包文件,但不压缩

                用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxxx.tar.bz2

                在 tar 命令中增加一个选项 -j 可以调用 bzip2 ,实现了一个压缩的功能,实行一个先打                    包后压缩的过程。

                命令格式如下:

                # 压缩文件

                tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...

                # 解压缩文件

                tar -jxvf 打包文件.tar.bz2

                zip、unzip

                通过 zip 压缩文件的目标文件不需要指定扩展名,默认扩展名为 zip

                命令格式如下:

                # 压缩文件

                zip [-r] 打包文件 被压缩的文件

                # 解压缩文件

                unzip -d 解压后的目录 打包文件.zip

更多推荐

Linux常用命令 (超级详细版必看)