一、指定运行级别
基本介绍:
运行级别说明:
- 0 :关机
- 1 :单用户【找回丢失密码】root不需要密码就可进入
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常用运行级别是3和5 ,要修改默认的运行级别可改文件
配置文件:/etc/inittab 。 id:5:initdefault:这一行中的数字,可通过vim进行修改,设置默认运行级别。
修改运行级别命令:init [012356]
二、帮助指令
man 获得帮助信息
• 基本语法
man [命令或配置文件](功能描述:获得帮助信息)
• 基本语法
help 命令 (功能描述:获得shell内置命令的帮助信息)
文件目录类
cd:切换目录
cd是change directory的缩写,该命令用来切换工作目录,其基本语法是“cd [相对路径或绝对路径]”。cd命令与上文讲到的特殊目录结合在一起使用可以达到更高效的目的。
主要用法如下:
- cd ~account 切换到account这个用户的主文件夹
- cd ~ 切换到当前在使用的用户的主文件夹
- cd 没有加上任何路径,也代表回到自己的主文件夹
- cd . 切换到当前工作目录(单纯一个.没有什么意义,但与目录或文件名相结合会很有用,尤其当你不知道工作目录的绝对路径时)
- cd .. 切换到当前工作目录的上一层目录
- cd - 表示回到上一个工作目录(并不一定是上一层目录)
- cd /var/spool/mail 绝对路径的写法(以/开头的就是绝对路径,因为/代表根目录)
- cd spool/ 相对路径的写法(不以/开头的都是相对路径)
pwd:显示当前目录
pwd是print working directory的缩写,即显示工作目录的意思。pwd的用法如下:
pwd [-P]
参数
- -P:显示出当前路径,而非使用连接(link)路径
- pwd 不加任何参数,单纯显示出当前的工作目录
- pwd -P 显示出实际的工作目录,而非链接文件本身的工作目录而已
mkdir:新建目录
mkdir是make directory的缩写,即新建目录,其主要用法如下:
mkdir [-mp] 目录名称
参数
- mkdir newdir 在工作目录下创建一个新目录,不加参数只能创建单层目录
- mkdir -p newdir/newdir1 在工作目录下创建多层目录
- mkdir -m 711 newdir 在工作目录下创建新目录并强制设置新目录的权限
touch:修改文件时间或创建新文件
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
touch -[acdfmrt] 文件名
- -a:或--time=atime或--time=access或--time=use 只更改存取时间
- -c:或--no-create 不建立任何文件
- -d:<时间日期> 使用指定的日期时间,而非现在的时间
- -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
- -m:或--time=mtime或--time=modify 只更该变动时间
- -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同
- -t:<日期时间> 使用指定的日期时间,而非现在的时间
rmdir:删除“空”目录
rmdir就是remove directory,用来删除“空”目录。用法如下:
rmdir [-p] 目录名称
参数
- -p: 连同上层“空”目录页一起删除
- rmdir dir 删除名为dir的目录,成功的前提是dir是空目录
- rmdir -p dir/dir1 删除工作目录下的dir和dir下的dir1两个目录,也要求目录是空的
ls:查看文件与目录
ls是list的缩写,即列出。用法如下:
ls [-aAdfFhilnrRSt] 文件或目录名称
ls [--color={never,auto,always}] 文件或目录名称
ls [--full-time] 文件或目录名称
参数
- -a:查看全部文件(包括隐藏文件)
- -A:列出全部文件(包括隐藏文件但不包括.和..这两个目录)
- -d:仅列出目录本身,而不是列出目录内的文件数据
- -f:直接列出结果,而不进行排序(ls默认会以文件名排序)
- -h:将文件容量以人类较易读的方式(例如GB,KB等)列出来
- -l:以长格式显示文件的名称、文件类型、权限模式、硬连接数、所有者、组、文件大小和文件最后修改时间等信息
- -n:列出用户识别码(UID)和群组识别码(GID)来替代用户及群组名称
- -R:连同子目录内容一起列出来,等同于该目录下的文件都会显示出来
- -S:以文件容量的大小排序
- -t:以时间排序
- -C:多列显示输出结果,这是默认选项
- --color={never,auto,always}:设置是否依据文件特性给予颜色显示(还可以设置颜色种类等)
- --full-time:以完整时间模式(年、月、日、时、分)输出
- --time={atime,ctime}:输出访问时间或改变熟悉感权限的时间
cp:复制、创建文件或目录
cp是copy的缩写,即复制的意思,但cp这个命令除了单纯复制之外,还可以创建连接文件,对比两文件的新旧而予以更新,以及复制整个目录等功能。用法如下:
cp [-adfilprsSuv] 源文件(source) 目标文件(destination)
cp [options] source1 source2 source3 ... directory
参数
- -f:强制复制文件或目录,无论文件或目录是否存在
- -i:覆盖既有文件前先询问用户
- -l:对源文件或目录建立硬连接
- -r/R:递归处理,将指定目录下的所有文件与子目录一同处理
- -s:对源文件或目录建立符号连接(软连接)
- -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀
- -u:使用该参数后只会在源文件的修改时间较目标文件更新时或是名称相互对应的目标文件不存在时,才复制文件
- -v:详细显示命令执行的操作
rm:删除文件或目录
rm即remove,该命令可以移除单个或多个文件或目录,且一旦删除不可恢复。用法如下:
rm [dfirv] 文件或目录
rm --preserve-root 文件或目录
参数
- -d:直接把想要删除的目录的硬连接数删除为0,删除该目录
- -f:强制删除文件或目录
- -i:删除已有的文件或目录前先询问用户
- -r/R:递归处理,删除指定目录下的所有文件或子目录
- -v:显示指令的详细执行过程
- --preserve-root:不对根目录进行递归操作
通常在Linux系统下,为了怕文件被误删除,很多distributions都已经默认加入-i这个参数了。
mv:移动、重命名文件或目录
mv即move,除了用来移动文件或目录外还可以重命名。主要用法如下:
mv [bfiuS] 源文件 目标文件
mv [options] source1 source2 source3 ... directory
参数
- -b:当文件存在时,覆盖前为其创建一个备份
- -f:如果目标文件或目录已经存在,直接覆盖
- -i:交互式操作,若目标文件或目录已经存在,询问是否覆盖
- -u:当源文件比目标文件新或目标文件不存在时才会覆盖
- -S<后缀>:为备份文件指定后缀,不使用默认后缀
如果是多文件移动,则目标文件一定是目录
取得路径的文件名与目录名
dirname:取得文件所在目录
dirname是directory name的缩写,即目录名,这个命令的功能就是去除一个文件路径的文件名,仅输出目录。dirname命令读取指定路径名保留最后一个“/”及其后面的字符,删除其他部分,并输出结果。如果最后一个“/”无字符,dirname命令使用倒数第二个“/”并忽略后面的所有字符。用法如下:
命令很简单,这个输出文件所在目录的功能看上去好像意义不大,我们可以通过“ls -l”很容易得到一个文件的完整路径,从而得出目录。但对于系统管理员来说,用Linux shell写脚本取得一系列文件的目录就可以大大提高管理员的工作效率。
basename:取得文件名
与dirname相对,basename命令是去掉一个文件路径的目录部分,只输出文件名。用法如下:
basename与dirname通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称。
直接查看文件内容
直接查看文件的内容可以使用cat、tac、nl这几个命令。
cat(concatenate)
cat命令连接文件并打印到输出设备上,cat经常用来显示文件内容。用法如下:
cat -[nbsAEvTet] 文件名(可多个)
参数
- -n:打印出行号,连同空白行也会有行号
- -b:仅针对非空白行列出行号
- -s:当遇到有连续两行或更多的空白行,就替换为一行的空白行输出
- -A:显示不可打印字符,行尾显示“$”
- -E:将结尾的断行字符$显示出来
- -v:列出一些看不到的特殊字符
cat命令由第一行开始显示文件内容,因此当文件较大时,文本在屏幕上迅速闪过,看不清屏幕内容。
常与管道一起用: cat -n 文件| more
more(一页一页翻动)
more命令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。用法如下:
more -[dcsu] 文件名
参数
- -d:显示“Press space to continue,'q' to quit.”和“Press 'h' for instructions”
- -c:不进行滚屏操作,每次刷新这个屏幕
- -s:将连续多个空行压缩成一个空行显示
- -u:禁止下划线
- +:从第n行开始显示
- -:指定每屏显示的行数为n
在more这个程序运行的过程中,有几个按键是可以按的:
- 空格键(space):向下翻一页
- Enter:向下滚动一行
- /字符串:向下查询指定字符串
- :f :立刻显示出文件名以及目前显示的行数
- q:离开more
- b:往回翻页,这操作只对文件有用,对管道无用
less(一页一页翻动)
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
less -[efglNsS] 文件名
参数
- -e:文件内容显示完毕后,自动退出
- -f:强制显示文件
- -g:不加亮显示搜索到的所有关键字,仅显示当前的关键字,以提高显示速度
- -l:搜索时忽略大小写差异
- -N:每一行行首显示行号
- -s:将连续多个空行改为一行显示
- -S:在单行显示较长的内容,不换行显示
在less命令运行过程中,有这些按键可以按:
- 空格键(space):向下翻动一页
- [PageDown]:向下翻动一页
- [PageUp]:向上翻动一页
- /字符串:向下搜索指定字符串
- ?字符串:向上搜索指定字符串
- n:重复前一个查询
- N:反向重复前一个查询
- q:退出
数据选取
head(选出前面几行)
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
head -[nvcq] 文件名
参数
- -n <数字>:指定显示头部内容的行数
- -c <数字>:指定显示头部内容的字符数
- -v:总是显示文件名的头信息
- -q:不显示文件名的头信息
tail(选出后面几行)
tail命令用于输出文件的尾部内容,tail命令默认在屏幕上显示指定文件的末尾10行。如果指定的文件不止一个,则在每一个文件的显示内容前面加上文件名标题。如果没有指定文件名或文件名为“-”则读取标准输入。
tail -[nqsv]
参数
- -n <数字>:指定输出文件尾部内容的行数
- -q:当有多个文件时,不输出文件名
- -s <秒数>:指定监视文件变化时间间隔秒数
- -v:当有多个文件时,总是输出文件名
- -f 文件 (功能描述:实时追踪该文档的所有更新)常用
echo指令
echo输出内容到控制台。
• 基本语法
> 指令 和 >> 指令>
输出重定向和 >> 追加
基本语法
- 1) ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
- 2) ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
- 3) cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
- 4) echo "内容">> 文件
ln 指令
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法
- ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软连接)
history指令
查看已经执行过历史命令,也可以执行历史指令
• 基本语法
- history (功能描述:查看已经执行过历史命令)
- !185 执行history显示出的第185条指令。
date指令-显示当前日期
• 基本语法
- 1) date (功能描述:显示当前时间)
- 2) date “+%Y” (功能描述:显示当前年份)
- 3) date "+%m"(功能描述:显示当前月份)
- 4) date "+%d" (功能描述:显示当前是哪一天)
- 5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
date指令-设置日期
• 基本语法
- date -s 字符串时间 : date -s “2020-11-11 11:22:22”
cal指令查看日历指令
基本语法
- cal [选项] (功能描述:不加选项,显示本日历)
- cal 2020 : 查看2020年所有日历