终端: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的模式
一般模式下的操作
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
权限设置
编辑文件
文本编辑器有很多,比如图形模式的gedit、OpenOffice 等,文本模式下的编辑器有vi、vim(vi的增强版本)等。vi和vim是我们在Linux中最常用的编辑器。
gedit:类似于windows下的记事本,很方便的去修改文本。
OpenOffice:Linux下的office,可以进行word,excel,ppt的制作。