- 命令使用的构成: 命令名称 [操作选项] [操作对象]
- man 操作名称:查看该操作的手册。
一、基本指令
1.目录相关操作的命令
- 什么是目录:目录就是文件夹。登陆成功之后,用户默认处于用户家目录。
(1) ls :浏览当前所在目录的目录内容
- 语法:ls [选项][目录或者文件]
① -a : 显示指定目录下的隐藏文件(Linux下隐藏文件是因“ . ”开头的文件)。
② -l :显示文件的详细信息(其中每一行第一列的首字母是文件类型)。
以‘ ’开头 | 文件类型 |
---|---|
以‘d’开头 | 目录文件 |
以‘b’开头 | 块设备文件(如硬盘等) |
以‘-’开头 | 普通文件 |
以‘l’开头 | 符号链接文件 |
以‘c’开头 | 字符设备文件 |
以‘p’开头 | 管道文件 |
以‘s’开头 | 套接字类型文件 |
③ ls/ :表示浏览根目录。
④ 其余选项
选项 | 功能 |
---|---|
-d | 将目录像文件一样显示,而不是显示其下的文件。 |
-i | 显示文件的i节点的索引信息。 |
-n | 用数字的UID,GID代替名称。 |
-F | 在每个文件名后附上一个字符用来说明文件类型。“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“=”表示套接字(sockets)。 |
-r | 对目录反向排序。 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小(大小排序,如何找到目录下最大的文件)。 |
-R | 列出所有子目录下的文件(递归)。 |
-1 | 一行只显示一个文件。 |
- UID,GID:UID是用户ID,用来标识每个用户的唯一标识。GID是组ID,用来标识用户组的唯一标识。
- 文件的详细信息:
如:drwxrwxr-x . 5 dev dev 64 Jul 7 10:09
其中 5 表示此文件共有几个
第一个dev表示文件所属用户
第二个dev表示文件所属组
64表示文件大小为64字节
Jul 7 10:09表示文件最后一次修改时间
(2) pwd :显示文件当前所在路径(绝对路径)。
- 目录结构与磁盘分区无关。
- 分区:文件系统分区和交换内存分区。
- 文件系统分区:可以有很多个,存放文件数据的,虽然次分区可以有多个但目录结构是唯一的(树型结构)。
- 交换内存分区:哪些数据不活跃交换到此分区中。
- 绝对路径:唯一路径。从根目录开始表达的路径。
- 相对路径:相对于一个指定位置,当前所在的路径。
- 内存的存储介质在断电之后数据就没了,硬盘可以持久化存储,但硬盘速度慢。
- “ . ”当前目录, “ … ”上一层目录。
根目录下各个子目录名称 | 含义 |
---|---|
./bin | 用来存放二进制可执行文件,并且/bin里存放的是所有一般用户都能使用的可执行文件,如:cat等。 |
./boot | 存放在开机时会使用到的文件,如Linux内核文件及开机和关机所需的配置文件等。 |
./dev | 任何设备与接口设备都是以文件形式存在于这个文件中。只需要访问该目录下的文件,即可访问该设备较为重要的文件,如硬盘、键盘等各种设备文件。 |
./etc | 系统主要的配置文件和配置文件、启动脚本等包含所有程序所需的配置文件。如人员的账号密码文件等。该文件只有root可修改,FHS建议不要放置可执行文件在该目录下。 |
./lib | 放置开机时会用到的库函数以及./bin和./sbin目录下的命令会调用的函数库。 |
./media | 放置可移除的媒体设备,如光盘、DVD等。 |
./mnt | 放置临时挂载的设备文件、临时安装目录,系统管理员可以挂载文件系统。是系统管理员临时安装文件的系统安装点。 |
./opt | 放置可选的软件包,即第三方软件。可以将除了系统自带软件之外的其他软件安装到该目录下。 |
./root | 系统管理者的主目录。 |
./sbin | 放置包括了开机、修复、还原系统所需要的命令。 |
./srv | 放置一些服务启动后所需的数据。是一些网络服务启动之后,这些服务所想要取用的数据目录,例如:WWW, FTP等。 |
./tmp | 放置一些系统运行过程中使用的临时文件,可以被所有用户访问,系统重启时会清空该目录。 |
./lost + found | 当文件系统发生错误时,将一些丢失的片段放置带这个目录下。 |
./proc | 特殊的动态目录,用以维护系统信息和状态,是一个虚拟文件系统,放置的数据都是存在内存中的。 |
./sys | 也是一个虚拟文件系统,存放的是与系统内核相关的信息。不占用硬盘容量。 |
./usr | 包含绝大部分所有用户都能访问的应用程序和文件、包含二进制文件、库文件。 |
./var | 放置经常变化的文件,只针对常态性变动的文件,如缓存,日志或数据库等代表变量的文件。在系统运行之后会占用硬盘容量的目录, |
(3) mkdir :创建目录(默认在当前路径下创建)。
- 语法:mkdir [选项] [要创建的目录名称]
① -p :多层递归创建目录。如:若当前目录中tmp不存在,但要在当前目录中tmp目录创建ab目录。该种情况下为 mkdir -p ./tmp/ab。
(4) rmdir : 删除空目录 (目的是清理空目录)
- 语法: rmdir [选项][要删除的空目录的名称]
①-p :多层递归删除目录,如rmdir -p tmp/ab 此时连tmp也删了。
(5) rm:默认为删除目录或文件。
- 语法: rm [选项][要删除的文件]
① -r :递归删除任何目录下的所有文件以及删除该目录。
② -f :忽略提示(即使文件属性为只读),直接删除。
③ -i :删除目录或文件前逐一询问确认。
④ -rf :忽略提示,直接递归删除任何目录。
(6) cp:拷贝指定文件到指定位置,有两个操作对象。
- 语法:cp [选项] [源文件或目录] [目标文件或目录]
① -r:递归拷贝指定目录下所有文件到指定位置。
② -f:忽略提示信息,直接操作。
③ -i:拷贝文件前,要询问确认。
④ -R:递归处理,将指定目录下的文件以及子目录一并处理。
(7) mv:移动一个文件到指定的位置(剪切文件)。
- 语法:mv [选项] [源文件或目录] [目标文件或目录]
- mv password ./test :将password移走到当前位置并命名为test。实际就是将password改名为test。
(8) cd:改变当前所在位置(进入指定路径)
- 语法:cd [目录名]
- ~ :(cd ~)回到当前用户的家目录下。
- cd- :回到上次所在的位置。
- cd [绝对路径] :到绝对路径的目录下。
2.文件相关操作的命令
(1) touch :创建一个空文件(本质是刷新文件的时间属性)
- 语法 :touch [选项] …文件…
- 若文件不存在则创建一个空文件。
- 若文件存在则刷新文件的时间属性。
- stat [文件名] : 查看文件的详细信息。
时间属性名称 | 含义 |
---|---|
Access | 最后一次访问时间 |
Modify | 最后一次修改时间 |
Change | 最后一次状态改变时间(永远是当前时间) |
① -a :只更改存取时间。
② -c :不建立任何文档。
③ -d : 使用指定的日期时间,而非现在的时间。
④ -f : 此参数将忽略不予处理,仅负责解决BSD版touch指令的兼容性问题。
⑤ -m:只更改变动时间。
⑥ -r :把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
⑦ -t :使用指定的日期时间,而非现在的日期时间。
(2) cat :打印文件内容到终端显示。(只能查看短小文件。)
- 语法:cat [选项] [文件名]
① -b :对非空输出行编号。
② -n :对输出的所有行编号。
③ -s :不输出多行空行。
(3) less :分页显示字符串匹配(按n找下一个)。
- 语法:less [参数] [文件]
① q :退出。
② f :向下翻页。
③ b:向上翻页。
④ ↓↑:向下/向上按行滚动。
⑤ /string :在内容中向下匹配string字符串。
⑥ ?string :在内容中向上匹配string字符串。
⑦ -i :忽略搜索时的大小写。
⑧ -N :显示每行的行号。
⑨ n :重复前一个搜索(与/ 或?有关)。
⑩ N :反向重复前一个搜索(与/ 或?有关)。
(4) more :分页显示文件内容。
- 语法 :moer [选项] [文件]
- 回车 :向下一次走一行。
- 空格 :想下一次走一页。
- q :退出。
① -n :对输出的所有行进行编号。
(5) head :显示文件的前10行内容。
① -num :显示文件的前num行内容。
(6) tail :显示文件的末尾10行的内容。
① -n :显示文件的末尾num行内容。
② -f :动态一直刷新文件末尾新内容。
(Ctrl + c : 中断当前操作。)
(7) 常见压缩格式 :gzip、 bzip2、 zip
- gzip/gunzip :对指定文件压缩成gzip格式/解压缩。如 gzip hello.txt ------> hello.txt.gzip。
- zip/unzip :对指定文件压缩成zip格式/解压缩。如 zip hello.txt ------> hello.txt.zip。
- bzip2/bunzpi2 :对指定文件压缩成bzip2格式/解压缩。(压缩比例为三者中最高的。)如:bzip2 hello.txt ------> hello.txt.bz2。
(8) tar :打包/解包
① -c :打包。
② -x :解包。
③ -v :显示详细的打包文件信息。
④ -z :打包/解包同时进行gzip格式压缩/解压缩。
⑤ -j :打包/解包同时进行bzip2格式压缩/解压缩。
⑥ -f :打包/解包时用于指定包名称。
如:tar -czvf hello.tar.gz hello.txt 打包最后变成 hello.tar.gz。tar -xzvf hello.tar.gz 解包成hello.gz。
3.查找匹配命令
(1) find :在指定的目录下查找指定的文件。
- 语法 :find [pathname] [options]
① -name :按文件名称在指定目录下查找指定的文件。
② -type :按文件的类型在指定目录下查找指定的文件。
如find ./ -name "*a"为在当前文件中找以a结尾的名称的文件。
(2) grep :在指定文件内容中匹配指定字符串。
- 语法 :grep [选项] 搜寻字符串 文件
① -i :忽略大小写,grep -i ‘Fen’ a.txt
② -v:反向匹配,匹配不包含指定字符串的行。
③ -R:对一个目录下的所有文件进行内容匹配。
④ -n :顺便输出行号。
4.时间命令
- 时间戳:Unix时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒。
- 时间-----》时间戳 :date + %s
- 时间戳----》时间 :date -d@1546523136
(1) date :显示/设置时间。
①date显示:
date 指定格式显示时间:date + %Y:%m:%d
date 用法:date [option] … [+format]
时间option | 含义 |
---|---|
%H | 小时(00~23) |
%M | 分钟(00~59) |
%S | 秒(00~61) |
%X | 相当于%H:%M:%S |
%d | 日(01~31) |
%m | 月份(01~12) |
%Y | 完整年份(0000~9999) |
%F | 相当于%Y-%m-%d |
②在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他职能查看。
- date -s 20191206 //设置成20191206,这样会把具体时间设置成空00:00:00。
- date -s 01:00:01 //设置具体的时间,不会对日期做更改。
- date -s “01:00:01 2019-12-06” //这样可以设置全部时间。
- date -s “01:00:01 20191206” //这样可以设置全部时间。
- date -s “2019-12-06 01:00:01” /这样可以设置全部时间。
- date -s “20191206 01:00:01” //这样可以设置全部时间。
(2) cal :用来显示公历日历。
- 命令格式 :cal [参数][月份][年份]
① -3 :显示系统前一个月,当前月,下一个月的月历。
② -j :显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数。)
③ -y :显示当年的日历。
5.其它命令
(1) ifconfig :查看网卡信息 ens33。
(2) man :查看命令手册。
(3) echo :打印数据到中断显示。
(4) >> 和 > :重定向符号,将原本写入a文件数据写入到另一个文件中。 > :清空重定向,清空文件原有数据,写入新内容。 >> :追加重定向,将数据追加到指定文件末尾。
(5) bc :可以方便的进行浮点计算。
(6) uname :用来获取电脑和操作系统的相关信息。
(7) shutdown :关机。-h:将系统的服务停掉后,立即关机。 -r:在将系统服务停掉之后重新启动。 -t sec:-t后面加秒数,就是过几秒之后就关机。
6.shell的认识以及shell命令
-
操作系统 = 内核 + 应用
-
用户只能通过外部应用来进一步操作内核。
(1) shell :命令行解释程序,只负责解释用户的指令。shell为解释程序。命令行解释器,解释用户的命令输入。操作系统内核完成执行相应的功能,且对结束进行翻译成为用户可识别数据进行返回。
(2) shell命令:一个命令所对应的功能程序,输入命令之后shell会去执行整个程序完成具体的功能。 -
对比Windows GUI,我们操作系统Windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入C盘的操作,我们通常是双击C盘盘符,或者运行起来一个应用程序。)
-
shell对于Linux,有相同的作用,主要是对我们的指令进行解析。解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
-
center OS默认shell程序为bash程序(快捷方式为 sh,符号链接模式。)
-
windows界面为shell 程序。