Linux之基本指令

  • 命令使用的构成: 命令名称 [操作选项] [操作对象]
  • 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 程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值