Linux系统编程——常见指令集合(入门必备)

目录

一,基本操作指令

ls(查看当前目录下的文件)

ll(ls -l命令扩展)

pwd(查看路径)

cd(打开目录)

相对路径

绝对路径

touch(创建文件)

rm(删除文件)

mkdir(创建目录)

rmdir(删除目录)

cp(拷贝)

mv(移动文件或重命名文件)

cat(查看文件内容)

clear(清空屏幕)

whoami(查看当前用户)

who(查看当前登录用户)

zip(压缩文件)

unzip(解压文件)

tar(zip/unzip扩展指令)

二,常用指令

man(Linux系统接口专用文档)

tac(反方向的cat打印)

more(查看有海量信息文件)

less(more扩展指令)

head(打印文件开头指定部分) 

tail(打印文件末尾指定部分)

问题:如何读取文件中间的某一段内容?

方法一:使用重定向

方法二:使用管道

date(时间操作指令)

用法一:显示时间

用法二:改变时间(root专用)

cal(打印公历日历)

echo(打印指定内容到屏幕)

grep(在打印内容中过滤指定内容)

find(查找文件)

which(查看可执行程序路径)

file(查看文件更多属性)

bc(Linux下的计算器指令)

uname(查看当前系统版本等信息)

history(查看历史命令)

shutdown(关机指令)

三,一些便捷的快捷键


一,基本操作指令

ls(查看当前目录下的文件)

Linux与Windows不同,Windows会自动显示目录下的文件,Linux需要使用命令显示

语法:ls -选项字母 目录或文件(不写目录或文件时默认显示当前目录文件)

功能:对于目录,可以列出目录下所有的文件名,对于文件,可以列出文件的各种信息

显示选项:

-a 表示列出目录下所有文件,包括.开头的隐含文件

-i 表示显示文件inode信息,这个inode我们到文件系统详细讲

-sk 表示显示文件大小,单位为字节

-l 显示问价更多具体信息(最常用)

-r 表示对文件反向排序

-t 表示以创建或修改时间排序

-R 列出所有子目录下的文件

ll(ls -l命令扩展)

最常用的ls命令就是ls -l命令,所以我们可以直接使用ll命令来显示文件各种信息

pwd(查看路径)

语法:pwd

功能:显示用户当前所在目录

cd(打开目录)

先看下列的图片

在Linux中,磁盘上的文件和目录可以被当成一颗树,目录为子树,文件为叶子结点,如上图。"/"目录为整个系统的根目录。

语法:cd 目录名

功能:改变用户当前的工作目录为指定目录 

相对路径

相对路径是以当前路径为起始点,对其他目录或文件进行操作的,如下图:

绝对路径

绝对路径表示当前文件的完整路径,是以根目录"/"开始的路径,如下图:

 cd ~ 表示打开当前用户的主工作目录

②cd - 表示打开上次所在的目录

touch(创建文件)

语法:touch -选项字母 文件名

功能:touch命令可以更改文件或目录的修改时间,或者新建一个不存在的文件

常用选项:

① -a 或--time=atime或--time=access或--time=use 只更改存取时间

② -c 或--no-create 不创建任何文件

③ -d 更改创建的指定时间而非当前时间

④ -f 此参数将忽略不做处理,这个参数仅解决BSD版本的touch指令兼容性问题

⑤ -m 或--time=mtinue或--time=modify 更改修改时间

⑥ -r 把指定文件过目录的日期时间设为目标文件和目录的日期时间,使两者时间相同

⑦ -t 使用指定日期时间,而非现在时间

rm(删除文件)

语法:rm -选项字母 文件名

功能:非常简单,就是删除指定文件

选项:

① -f 即使文件属性为只读(写保护,表示该文件只能读取不能进行其他操作),也可以直接删除,可以理解为“强制删除”

② -i 删除前逐一再次确认是否删除,同意输入y,不同意输入n

(在我的Linux系统下,rm无法直接删除目录,会报错,即使是rm -f强制删除也不行,删除目录必须用到指定的rmdir,下面会介绍)

mkdir(创建目录)

语法:mkdir -选项字母 目录名

功能:在当前目录下创建一个目录

选项

-p 后面可以根一个目录名称,如果此时我们输入的路径中的某些目录尚不存在,加上该选项后,系统会自动船舰好那些尚不存在的目录,简单来说就是可以一次性创建多个目录

rmdir(删除目录)

语法:rmdir -选项字母 目录名

功能:删除目录

选项:

-p 和上面的一样,也是删除一连串的目录

cp(拷贝)

语法:cp -选项字母 源文件或目录 目标文件或目录

功能:复制文件或目录到指定路径

cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面我们指定的所有文件或目录复制到此目录中。反之,如果我们指定的目的地并非一个已经存在的目录,则会出现错误信息。(简单来说就是目的地不能有同名字的文件或目录)

常用选项:

-f 或 --force 强行复制文件或目录,不管目的地是否有同名文件或目录

-i 或 --interactive 覆盖文件之前询问用户

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理

-R 胡哦 -recursive递归处理,将指定目录下的文件及子目录一并处理

mv(移动文件或重命名文件)

语法:mv -选项字母 源文件或目录 目标文件或目录

功能

①视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中

②当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个,它将所给的源文件或目录重命名为给定的目标文件名

③当第二个参数是已存在的目录名称是,源文件或目录参数可以有多个,mv命令将各参数指定的源文件移动至目标目录中

常用选项:

① -i 若目标文件已经存在,询问是否覆盖

② -f 强制的意思,如果目标文件已经存在,不会询问而是直接覆盖

cat(查看文件内容)

语法:cat -选项字母 文件名

功能:查看目标文件内的内容

常用选项:

① -b 对非空输出行符号(就是在每一行最前面打印行号)

② -n 对输出的所有行编号

③ -s 不输出多行空行 

clear(清空屏幕)

不多说明了,就是清空屏幕,不改变当前路径和任何文件,单纯清空屏幕

whoami(查看当前用户)

查看我自己的用户名

who(查看当前登录用户)

zip(压缩文件)

语法:zip -选项字母 压缩文件名.zip 要压缩的目录或文件

功能:将目录或文件压缩成一个zip文件

常用选项:-r 递归处理,通常用在压缩目录的时候,将目录里的所有文件和子目录一并处理,如果不加-r,则只会压缩目录文件,目录里面的东西不会压缩

unzip(解压文件)

语法:unzip 压缩文件名.zip -d 目标目录

功能:将压缩文件解压到指定目录,如果不加-d选项,则默认解压到当前目录

tar(zip/unzip扩展指令)

tar命令是对zip和unzip命令的包装,使tar一个命令加上对应选项字母可以同时实现压缩和解压的指令

语法:tar  -一个或多个选项字母 压缩文件名 ...

功能:打包/解包,不解压查看压缩包内容

常用选项:

-c create的意思,加上该参数表示建立一个压缩文件

-x 表示解压文件

-t 查看压缩文件里的文件

-z 是否同时具有gzip的属性?亦即是否需要用gzip压缩

-j 是否同时具有bzip2的属性?亦即是否需要用bzip2压缩

-v 压缩过程中显示文件,不建议在文件量很大的时候使用

-f 这个一般用在最后,接的是要形成的压缩文件名称,并且后面紧接着要被压缩的文件或目录

-C 解压到指定目录,后面接路径

tar指令示例集合: 

二,常用指令

man(Linux系统接口专用文档)

上面的内容我们可以知道,Linux的命令有很多参数以及注意事项,我们很难全部记住,所以我们可以使用man命令来查看联机手册获取帮助

语法:man -选项 命令名称

功能:查看命令使用规则等

常用选项:

① -k 根据关键字搜索联机帮助

② 数字 只在指定的第几章节查找

③ -a 将所有章节的查找结果显示出来

 man手册有八章:

一,各种shell命令

二,系统调用接口,以后常用

三,库函数

四,特殊文件,通常是/dev路径下的各种设备文件

五, 文件格式,比如/etc/passwd,会说明这个文件中各个字段的含义

六,游戏专用章,由游戏自定义

七,是附件还有一些变量,比如像environ这种全局变量在该章节有说明

八,系统管理的命令,比如sudo等,通常是仅限于root用户使用的命令

tac(反方向的cat打印)

语法:和cat一样,反向打印文件内容

more(查看有海量信息文件)

使用命令行往文件里写数据be like:

count=0; while [ $count -le 1000 ]; do echo "hello world ${count}"; let count++; done > test.txt

语法:more 文件名

功能:查看目标文件的内容

more指令只能通过回车键进行下翻,无法进行上翻,并且more指令在查看之间会加载整个文件

more text.txt

less(more扩展指令)

语法:less -选项 文件名

功能:与more类似,但是less可以随意浏览文件,而且可以向前向后移动,查看前不会加载整个文件

less text.txt

 

选项:

① -i 忽略搜索时的大小写

② -N 显示每行的行号

③ /字符串 向下搜索字符串

④ ?字符串 向上搜索字符串

⑤ n 重复前一个搜索

⑥ N 反向重复前一个搜索

head(打印文件开头指定部分) 

语法:head -n 文件名

功能:显示文件的开头部分至标准输出中,默认head用来显示文件的开头10行,如果加了选项数子,则根据数字来打印

tail(打印文件末尾指定部分)

语法:tail -选项 文件名

功能:显示指定文件的末尾内容,不指定文件时,作为输入信息进行处理。常用来查看日志文件

问题:如何读取文件中间的某一段内容?

问题:上面的test.txt有一千行内容,我们如何读取第500到第510行的内容呢?

方法一:使用重定向

我们首先可以使用head -510 filetxt,表示我们把前510行的内容搞到一个临时文件file.txt里,然后再读取file.txt的最后十行内容即可,如下图

方法二:使用管道

上面的方法显然有些麻烦,毕竟还要创建临时文件,所以我们可以考虑使用“命令行管道”来搞

关于管道:类似与我们日常生活中的各种管道,例如天然气管道,下水道管道,就连吸管也属于管道,而它们的作用都是“传输资源”,放在操作系统也是如此,只不过变成了“传输数据”,在命令行中用符号“ | ”来表示管道,具体操作如下:

date(时间操作指令)

用法一:显示时间

语法:date 选项 格式

功能:显示事件

常用选项,结合上图:

① %Y:完整年份(0000 - 9999)

② %m:完整月份(01 - 12)

③ %d:显示日(01 - 31)

④ %H:显示小时(00 - 23)

⑤ %M:显示分钟(00 - 59)

⑥ %S:显示秒(00 - 59)

⑦ %F:相当于“%Y-%m-%d”

⑧ %X:相当于“%H:%M:%S”

用法二:改变时间(root专用)

date -s 设置当前事件,root用户专属,普通用户只能查看

①date -s 20240414 将时间设置为2024-04-14,但是具体时间会被设置为00:00:00

②date -s 01:01:01 对具体时间修改,不影响日期

③date -s "01:01:01 2024-04-14" 同时修改时间和日期,“01:01:01 20240414” 和 “2024-04-14 01:01:01” 和 “2024041401:01:01” 同理

cal(打印公历日历)

cal命令可以显示公历(阳历)。公历是现在国际通用的历法,又称“太阳历”,系以地球绕行太阳一周为一年。

语法:cal -选项 年份 月份

常用选项:

① -3 显示系统前一个月,当前月以及后一个月

② -j 显示在当年中第几天,从1月1号算起

③ -y 显示当前年份的日历

echo(打印指定内容到屏幕)

语法:echo 字符串

功能:把指定内容显示到屏幕上, 经常配合管道和重定向使用

grep(在打印内容中过滤指定内容)

语法:gerp 选项 目标字符串 文件

功能:在文件中搜索字符串,并打印搜索结果

常用选项:

① -i 忽略大小写进行查找

② -n 输出行号

③ -v 反向选择,显示出没有待搜索字符串的行

find(查找文件)

语法:find 路径 -选项

功能:用于在文件树中查找文件,并作出相应的处理,可能访问磁盘导致效率降低

常用选项:

① -name 按照文件名查找文件

② -size 按照文件大小查找文件

find ~ -size +100M  在工作路径下查找大于100MB的文件
find ~ -size -100M  查找大小小于100MB的文件
find ~ -size 100M   查找大小等于100MB的文件

which(查看可执行程序路径)

Linux当中的很多指令其实就是很多的可执行程序,这个程序存储来系统的特定文件当中,而我们能直接使用它们是因为环境变量,而对于环境变量我们后面也会详细讲解

语法:which 指令名

功能:查找指令所在路径

file(查看文件更多属性)

bc(Linux下的计算器指令)

uname(查看当前系统版本等信息)

uname -选项  用于获取计算机和操作系统的相关信息

常用选项:

① -r 输出操作系统的版本信息

② -a或-all 表示写详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

history(查看历史命令)

功能为查看用户历史输入执行过的所有命令

shutdown(关机指令)

语法:shutdown -选项 (root专属)

常用选项:

① -h 将系统的所有服务停掉后,立即关机

② -r 将系统的服务停掉之后重新启动

③ -t 秒数  经过指定秒数后关机

三,一些便捷的快捷键

自动补全指令:双击Tap键

快速切换上一次的指令:“ ↑ ” 键

停掉当前进行中程序:Ctrl + C

退出当前命令行:Ctrl + D

搜索历史命令:Ctrl + R

  • 33
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值