Linux命令

终端:Linux 的终端就是控制台, 是用户与内核交互的平台, 通过输入指令 来控制内核完成任务操作。

Shell:shell是linux的外壳。是一个内核的解释器,让我们跟内核交流翻译的工具

命令的解释:可以解析我们给shell终端的命令,来控制操作系统做相关的功能。

目录结构
  • /(根目录)

    • /bin: 存放基础系统所需的命令。

    • /sbin:存放超级权限用户root 的可执行命令 。

    • /etc:存放系统程序或者一般工具的配置文件。

    • /dev:设备文件存储目录。

    • /proc:操作系统运行时,进程信息及内核信息 。

    • /var:存放 内容可能增长的文件。

    • /tmp:临时文件包含系统和用户创建的临时文件。

    • /usr:用户程序包含二进制文件、库文件、文档和二级程序的源代码 。

    • /home:所有用户用home目录来存储他们的个人档案。

    • /boot:引导加载程序文件包含引导加载程序相关的文件。

    • /lib:系统库包含支持位于/bin 和/sbin下的二进制文件的库文件 。

    • /opt:可选的附加应用程序包含从个别厂商的附加应用程序。

    • /mnt:挂载目录临时安装目录,系统管理员可以挂载文件系统。

    • /media:可移动媒体设备。

    • /srv:存服务数据。

    • /sbin

基本命令

基本的命令格式:

命令字 【命令选项】【命令参数】

命令选项: -xxx xxx是什么作用

命令参数: 路径,或者文件名。空格用来做分隔符

shutdown(关机命令)

含义:

关闭系统使用Shutdown命令,确保用户和系统的资料完整。只有root用户才能使用这个命令。一般的用户是不允许执行这个命令的。

shutdown [选项] 时间 [消息]

选项: -r 表示重启 -h 表示系统服务停滞(halt)后,立刻关机 -f 表示快速重启

时间: 为shutdown指定时间。 消息: 表示系统的广播信息。

案例:

shutdown -h now 立刻关机 shutdown -h 今天21:30关机 shutdown -r now 立刻重启

pwd(当前工作目录)

含义:

显示当前工作目录

pwd [选项] [文件或目录]

选项: 无

文件或目录: 无

ls(查看目录内容)

含义:

执行ls指令可列出目录的内容,包括文件和子目录的名称。

ls [选项] [文件或目录]

选项: -l : 每列仅显示一个文件或目录名称。 -a 或--all : 下所有文件和目录。 -i 或--inode: 显示文件和目录的inode编号。

文件或目录: 制定的目录或这文件,如果没有这一项,默认当前目录。

案例:

ls -l 以列的方式显示 ls -a 显示所有包括隐藏目录 ls -a /bin 显示/bin下的所有文件

cd(改变工作目录)

含义:

在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录

cd [选项] [文件或目录]

选项: 无

文件或目录: 绝对路径:一定由根目录 / 写起 相对路径:相对于某一路径,其中 “.” 代表当前目录, “..” 代表上一级目录

~:表示家目录

uname(显示系统重要信息)

含义:

会显示出关于系统的重要信息,如内核名称,主机名,内核版本,处理机类型等

uname [选项] [文件或目录]

选项: -r:内核版本 -n: 主机名 -a: 所有信息

文件或目录: 无

备注: 查看发行版的版本 cat /etc/redhat-release

案例:

uname -n 主机名 uname -a 显示所有系统重要信息

基本命令-文件管理
touch (改变文件的时间)

含义:

使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。注意的是如果文件不存在则创建文件。

touch [选项] [文件或目录]

选项: -t:使用指定的时间,而非现在的时间

文件或目录: 要改变的文件的路径。

案例:

touch file 改变file文件的时间 touch -t1801311830 file 指定时间改变

mkdir(创建目录)

含义:

创建目录

mkdir [选项] [文件或目录]

选项: -p:递归创建目录,嵌套目录

文件或目录: 跟目录的路径

注意:文件名大小写敏感,不可超过255字符,不可以使用/,建议不要~ \ < > ( ) $ * ? " '

案例:

mkdir aa 创建一个aa目录 mkdir -p aa/bb/cc 创建一个嵌套的目录

cp(拷贝文件或目录)

含义:

将文件和目录从一个目录拷贝到另一个目录

cp [选项] [源文件或目录] [目的文件或目录]

选项: -i:在拷贝过程中询问是否要拷贝 -f:在拷贝过程中不询问直接拷贝 -r:拷贝目录中的所有文件和目录

文件或目录: 源文件或目录:指的是需要拷贝哪个文件的路径 目的文件或目录:指要把源文件或目录拷贝到哪里的路径

案例:

cp /aa /home/king 将根下的aa拷贝到home下的king中

rmdir(删除空目录)

含义:

删除空的文件目录

rmdir [选项] [目录]

选项: -p:删除指定目录上的所有目录

文件或目录: 要删除的文件目录的路径

案例:

rmdir /aa 删除根下aa空目录

rm(删除文件或目录)

含义:

删除文件或目录,执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。

rm [选项] [文件或目录]

选项: -i:删除时询问是否要删除 -f: 删除时不询问直接删除 -r: 递归删除目录下的所有文件或目录

文件或目录: 文件或目录:所要删除的文件或目录

案例:

rm file 删除文件file rm -r /aa 删除aa目录下的所有文件或目录

mv(移动或更名)

含义:

可移动文件或目录,或是更改文件或目录的名称

mv [选项] [源文件或目录] [目标文件或目录]

选项: -i:在移动时有覆盖是询问是否要覆盖 -f: 在移动时有覆盖不询问直接覆盖

文件或目录: 源文件或目录:要移动或更名的文件或目录 目标文件或目录:如果有不是当前路径的路径就是要移动,如果是当前路径下就是更名

案例:

mv /aa ~/ 将aa移动到家目录下 mv aa bb 将aa更名bb

基本命令-tar
tar(打包)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [目标包名] [源文件或目录]

选项: -c:创建一个包 -f: 定义目标包

目标包名: 要打成的包名

源文件名或目录名: 哪些文件要被打成包

案例:

tar -cf xxx.tar /aa 将aa 打成xxx.tar包

tar(查看)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [包名]

选项: -t:查看 包 里面的文件! -f: 定义目标包

目标包名: 查看xxx.tar 的包的路径

案例:

tar -tf xxx.tar 在不解包的情况下查看里面的文件或目录

tar(添加)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [包名] [源文件或目录]

选项: -r:将文件追加到包中 -f: 定义目标包

包名: 查看xxx.tar 的包的路径

源文件或目录: 要添加的文件或这目录

案例:

tar -rf xxx.tar bb 将bb文件追加到xxx.tar包中

tar(解包)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [包名]

选项: -x:将包 解包 -f: 定义目标包

包名: 查看xxx.tar 的包的路径

案例:

tar -xf xxx.tar 将xxx.tar中的文件解包

tar(压缩)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [压缩名] [源文件]

选项: -c:打包 -z:将打包的文件用gzip格式压缩 -v:显示过程 -f: 定义目标包

压缩名: 指定压缩的名字

源文件: 要打包压缩的文件

案例:

tar -czvf xxx.tar.gz /aaa bb 将/aaa bb 文件 打包压缩为 xxx.tar.gz

tar(解压缩)

含义:

是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。

tar [选项] [包名]

选项: -x: 解包解压 -z:以gzip的格式进行解压 -v:显示过程 -f: 定义目标包

包名: 查看xxx.tar 的包的路径

案例:

tar -xzvf xxx.tar.gz 将 xxx.tar.gz解包解压到当前目录下

知识点小结
  • Linux的下的终端,目录结构的认识

  • Linux的基本操作命令。如:shutdown,ls,cd,uname,pwd

  • Linux的基本命令对文件的管理。如:touch,mkdir,cp,rmdir,rm,mv,tar。

  • 要注意的时tar命令的使用,因为参数较多,在参数的下达中, c/x/t/r 仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。z--gzip

基本命令-帮助查询
man(man手册)

含义:

是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

man [选项] 命令名

选项: -a:在所有的man帮助手册中搜索; -f:等价于whatis指令,显示给定关键字的简短描述信息;

案例:

man ls 通过man手册查看ls man -f ls 简要的查看ls的作用

find(按文件名称)

含义:

在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find [查找的路径][选项] [参数]

选项: -name:按名称查找 -iname: 忽略大小写 -a: 所有信息

选项: 用双引号引起来

案例:

find . -name ".txt" 在当前文件夹下查找以.txt结尾的文件 find . -name ".txt" -o -name "*.pdf"在当前目录下查找以.txt结尾的或这以.pdf结尾 find . -iname “AA” 忽略大小写查找AA文件

find(按文件类型)

含义:

在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find [查找的路径][选项] [参数]

选项: -type:文件分类超找 -maxdepth :从当前目录开始搜索的深度(也就是子目录的嵌套)

参数: f(表示普通文件),c, d, l, b ,s ,p 这些文件类型

案例:

find . -type f 在当前文件夹下查找普通文件 find . -type d 在当前目录下查找目录 find . -maxdepth 3 -type f 当前目录开始深度为3层的所有普通文件

find(与其他命令结合使用)

含义:

在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部 进行显示。

find [查找的路径][选项] [参数] 形式

形式: 'command' { } ;,注意{ }和\;之间的空格

案例:

find . -name "*.txt" -ok rm {} ; -ok和 -exec一样,只是ok会询问是否要删除

stat(查看文件的信息)

含义:

用来查看文件的具体存储信息和时间等信息

stat 参数

参数: 文件名

案例:

stat a.txt 查看a.txt文件信息

wc(统计文本)

含义:

用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

wc [选项] [文件]

选项: -c:只显示Bytes数; -l:只显示列数; -w:只显示字数。

案例:

wc xxx.txt 显示文本的行号、字符数、单词数 wc -c 显示字符数

cat(查看文本内容)

含义:

用来显示文件的内容

cat [选项] [文件]

选项: -n:有1开始对所有输出的行数编号; -b:和-n相似,只不过对于空白行不编号;

案例:

cat xxx.txt 显示文本的内容直接输出在屏幕上 cat -n xxx.txt 在每一行前加行号

more(查看文本内容)

含义:

命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比

more [文件]

操作: 按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。 按H键:显示帮助屏,该屏上有相关的帮助信息。 按B键:显示上一屏内容。 按Q键:退出more命令;

案例:

more xxx.txt 分进度显示文本内容

less(查看文本内容)

含义:

用less命令显示文件时,用PageUp键向上翻页,用 PageDown键向下翻页。要退出less程序,应按Q 键。

less [参数] [文件]

参数: -e:文件内容显示完毕后,自动退出; -N:每一行行首显示行号;

案例:

less xxx.txt 分屏显示文本内容

head(从头部查看文本内容)

含义:

用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

head [参数] [文件]

参数 -n:指定从头显示多少行;

案例:

head -5 xxx.txt 查看头5行

tail(从尾部查看文本内容)

含义:

tail命令默认在屏幕上显示指定文件的末尾10行。

tail [参数] [文件]

参数: -n:指定从尾显示多少行; -f:监控文件尾部插入的行

tail -5 xxx.txt 查看尾5行

文件类型分类

-:

普通文件包括: • 纯文本档(ASCII) • 二进制文件(binary) • 数据格式文件(data)

l:链接文件

d:目录

c:字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等

b:块设备文件,即一些存储文件,如硬盘、软盘等

s:套接字 还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信。

p:管道文件(FIFO)也是一种特殊的文件类型,他主要的目的解决多个程序同时访问一个文件所造成的错误问题,first-in-first-out。

进程管理
ps(当前的用户进程)

含义:

用于报告当前系统的进程状态

ps [选项] [参数]

选项: -a:显示所有用户的进程 -u:显示用户名和启动时间 -x:显示 没有控制终端的进程 -e:显示所有进程,包括没有控制终端的进程 -l:长格式显示

案例:

ps 只显示隶属于自己的进程状态 ps -aux 显示所有进程 ps –aux | grep xxx 过滤出要查看的进程

kill(进程杀死命令)

含义:

终止一个进程

kill [选项] [参数]

选项: -1:重启进程 -9:强制杀死

参数: pid进程编号

案例:

Kill pid 杀死进程进程编号为pid的进程 Kill -1 pid 重新启动pid的进程 Kill -9 pid 强制杀死pid进程

top(查看进程的信息)

含义:

进程状态显示和控制,每5s中自动刷新一次(动态显示)

top [选项] [参数]

提示: 退出top按q

案例:

top 动态的显示进程状态

对于shell来说执行程序产生的进程分为 前台进程 和 后台进程 执行一个程序的时候如果需要将它变为后台进程时 在执行命令后加 &

用户分类
普通用户

用户ID为:(1000+)

普通权限,但可以登录系统

程序用户

用户ID为:(0

普通权限,但没家目录,也不能登录系统

超级管理员root

用户ID为:0

在Linux中拥有任何权限

用户管理
chown(改变文件的所属)

含义:

chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。

chown [选项] [参数]

选项: -R:递归处理,将指定目录下的所有文件及子目录一并处理。

参数: 所属用户:要改变的所属用户。 所属组:要改变的所属组。

案例:

chown -R test /kk 将/kk目录下的所有文件改为test用户所有

chmod(改变文件的权限)

含义:

chmod命令用来变更文件或目录的权限。在Linux系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分。

chmod [选项] [参数]

选项: 权限:权限值。

参数: 文件名:设置权限的文件名。

案例:

chmod u+x,g+w kk 文件kk设置权限 chmod u=rwx,g=rw,o=r kk 给kk文件设置权限 chmod 764 kk 文件kk设置权限

vim
vim/vi(Vim编辑器)

含义:

vi与vim编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。

用法:

vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

vim kk 使用vim 来创建或这编辑kk文件

Vim的模式
image.png
一般模式下的操作

x:为向后删除一个字符

nx:连续向后删除n个字符

dd:删除光标所在行

ndd:删除光标所在的向下n行

yy:复制光标所在的那一行

nyy:复制光标所在的向下n列

p:将已复制的数据在光标下一行粘贴上

P:则为贴在光标的上一行

u:恢复前一个操作

一般模式下切换到编辑模式

i:从目前光标所在处插入

I:在目前所在行的第一个非空格符处开始插入

a:从目前光标所在的下一个字符处开始插入

A:从光标所在行的最后一个字符处开始插入

o:在目前光标所在的下一行处插入新的一行

O:为在目前光标所在处的上一行插入新的一行

r:只会取代光标所在的那一个字符一次

R:会一直取代光标所在的文字,直到按下 ESC 为止

一般模式切换到命令行模式

:w:保存编辑的内容

:w!:强制写入该文件,但跟你对该文件的权限有关

:q:离开vi

:q!:不想保存修改强制离开

:wq:保存后离开

:x:保存后离开保存后离开

vim多窗口使用技巧
vim与shell切换

:shell:可以在不关闭vi的情况下切换到shell命令行

:exit: 从shell回到vi

权限设置
image.png
编辑文件

文本编辑器有很多,比如图形模式的gedit、OpenOffice 等,文本模式下的编辑器有vi、vim(vi的增强版本)等。vi和vim是我们在Linux中最常用的编辑器。

gedit:类似于windows下的记事本,很方便的去修改文本。

OpenOffice:Linux下的office,可以进行word,excel,ppt的制作。

你可能感兴趣的:(Linux命令)