Linux常见指令

🔥个人主页🔥:孤寂大仙V

🌈收录专栏🌈:Linux

🌹往期回顾🌹:【C++】多态

🔖 流水不争,争的是滔滔不息。

文章目录


Linux是一个开源的、基于Unix的操作系统内核,由芬兰计算机科学家Linus Torvalds于1991年首次发布。最初,Torvalds开发Linux是为了创建一个自由、开放的操作系统,以替代他当时使用的Minix系统。如今,Linux已成长为全球广泛应用的操作系统内核,特别是在服务器、超级计算机、云计算、物联网等领域中发挥着重要作用。

pwd指令

语法:pwd

功能:显示当前用户所处路径。当没有对用户路径进行操作的时候,显示默认所路径。


ls指令

语法:ls[选项][目录]

功能:显示当前目录下的文件

ls-l 列出目录下文件的详细属性(ll指令和ls-l相同)

ls-l-a 列出当前目录下的所以文件 包含隐文件

下面包含不常用指令

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

-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls --d 指定目录

-i 输出文件的 i 节点的索引信息。 如 ls --ai 指定文件

-k 以 k 字节的形式表示文件的大小。ls --alk 指定文件 -l 列出文件的详细信息。

-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)

-F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件; "/"表示目录; "@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别)

-r 对目录反向排序。

-t 以时间排序。

-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

-R 列出所有子目录下的文件。(递归) -1 一行只输出一个文件。


cd指令

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。

cd ... 是返回上级目录

powershell 复制代码
root@hcss-ecs-48ab:~/learn/test_10_10# pwd
/root/learn/test_10_10
root@hcss-ecs-48ab:~/learn/test_10_10# cd ..
root@hcss-ecs-48ab:~/learn# pwd
/root/learn

cd /home/litao/linux/ : 绝对路径

powershell 复制代码
root@hcss-ecs-48ab:~/learn/test_10_10# pwd
/root/learn/test_10_10
root@hcss-ecs-48ab:~/learn/test_10_10# cd /root/learn
root@hcss-ecs-48ab:~/learn# pwd
/root/learn

cd .../day02/ : 相对路径

powershell 复制代码
root@hcss-ecs-48ab:~/learn/test_10_10# cd ../test_10_10
root@hcss-ecs-48ab:~/learn/test_10_10# pwd
/root/learn/test_10_10

cd ~:进入用户家目

powershell 复制代码
root@hcss-ecs-48ab:~/learn/test_10_10# cd ~
root@hcss-ecs-48ab:~# pwd
/root

cd -:返回最近访问目录

powershell 复制代码
root@hcss-ecs-48ab:~# cd -
/root/learn/test_10_10

touch指令

语法: touch [选项]... 文件...

功能:创建一个普通文件

touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

上图是在一个目录下 用touch创建了一个普通文件。

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

-c 或--no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

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

mkdir指令

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 "dirname"的目录

mkdir -p 后面加文件名/文件名/... 可以一次创建多个目录

rm指令和rmdir指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

如果当前目录下没有子目录和文件,是个空目录的话就用rmdir删除这个空目录。实用性并不高。
rm命令可以同时删除目录和文件

语法:rm [-f-i-r-v][dirName/dir]

-f 即使文件属性为只读(即写保护),亦直接删除

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

man指令

man 语法: man [选项] 命令

通过联机手册 查看命令的功能

cp指令

语法:cp [选项] 源文件或目录 目标文件或目录。

功能: 复制文件或目录。

拷贝目录cp后面加-r选项。 cp -r 目录名

用cp 把一个目录下的内容复制进另一个与前面目录相同的目录下时,前一个目录的内容就会拷贝进另一个目录。

echo指令

语法:echo 字符串

功能:把后续内容当字符串打印出来。默认把所输入的字符串写入了显示的文件里。

重定向操作:

echo "hello word" > hello.txt 把所输入的字符串写入了新建的hello.txt文件中。把本来应该写入显示器文件中的字符串,通过重定向>写入新建的文件中。

如果用之前的文件比如hello.txt,当进行重定向时如果输入新的字符串,就会替换掉之前的内容。如果文件不存在,进行重定向,就会创建一个新的文件。比如echo "a"> addb.txt 创建了一个新的daab.txt储存字符串a。

总结

1. 后续文件不存在,新建之。
2. 有文件先清空,再写入。

追加重定向:对已有内容的文件,想要对文件进行追加内容,用>>,比如echo "a" >> hello.txt

cat指令

语法:cat [选项][文件]

功能:cat显示指定文件里面的内容

直接再终端中输入cat,后续输入什么回显什么,这是默认从键盘文件里读取内容然后写入显示器文件。

输入重定向:

cat < hello.txt 和cat hello.txt 一样,读取文件里的内容,写入显示器文件进行显示。

tac指令,反向打印文件内容,方便查找日志。

mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法: mv [选项] 源文件或目录 目标文件或目录 。

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

more指令

语法:more [选项][文件]

功能:more命令,功能类似 cat

当用more指令来查日志的时候,不支持上翻下翻,不推荐使用more

less指令

语法: less [参数] 文件

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

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看

但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

head指令

语法: head [参数]... [文件]...

功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

-n<行数> 显示的行数

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

tail指令

语法: tail[必要参数][选择参数][文件]

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

-f 循环读取 -n<行数> 显示行数

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

时间显示相关指令

date指令

显示系统默认时间,不过默认显示的时间看起来不舒服。

date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]... [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

%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

2.在设定时间方面

powershell 复制代码
date -s //设置当前时间,只有root权限才能设置,其他只能查看。 
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 
date -s 01:01:01 //设置具体时间,不会对日期做更改 
date -s "01:01:01 2008-05-23″ //这样可以设置全部时间 
date -s "01:01:01 20080523″ //这样可以设置全部时间 
date -s "2008-05-23 01:01:01″ //这样可以设置全部时间 
date -s "20080523 01:01:01″ //这样可以设置全部时间 

3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。

命令格式: cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

-3 显示系统前一个月,当前月,下一个月的月历

-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y 显示当前年份的日历

find指令

语法: find pathname -options

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

常用选项:-name 按照文件名查找文件。

Linux下find命令在目录结构中搜索文件,并执行指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项 也很多,其中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。

在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)

grep指令

语法: grep [选项] 搜寻字符串 文件

  1. 在日志中查找带某某字符的字符串。在日志中搜索字符串,将找到的行打印出来。行文本过滤器。
  2. 查找1系统中所运行的进程。
  3. 在所指定文件中,查找我们想要的 文件/内容。

grep -n 打印查找内容的行号

grep -v 打印这个文件中,除查找以外的内容

grep -i 忽略大小写

解压与压缩指令

zip /unzip 指令

语法: zip 压缩文件.zip 目录或文件

功能:

zip 打包/压缩 文件/目录

unzip解压打包好的压缩包

zip -r 111.zip 111.txt

unzip 111.zip 解压进当前目录

对111.zip这个压缩包,解压到当前目录learn目录。

unzip 111.zip -d/目录路径 解压进指定目录

把test_10_10目录中的压缩包,解压至test_10_12目录中。

tar指令

也是用于解压缩文件的。

语法:

tar czf xxx.tgz src 压缩文件

tar xzf xxx.tgz 解压文件

tar xzf xxx.tgz -C/root 解压文件至指定目录

tar caf test.tgz test.c

把test.c打包为压缩包

tar xzf test.tgz

解压压缩包

tar xzf test.tgz -C/root/learn/test_10_11

把压缩包解压到指定目录

Linux和windows压缩包互传

语法:

  1. 用sz指令,sz xxx.zip 把Linux服务器中的压缩包发给windows。
  2. 用rz指令,rz xxx.zip把windows中压缩包发给Linux服务器。

Linux和Linux压缩包互传

语法:

scp xxx.tgz 用户名@目标Linux服务器公网ip:目标机器指定的路径

bc指令

相当于一个计算器

echo"1+2+3+4" | bc 这样就直接计算了里面的内容

常见热键

uname --r指令:

语法:uname [选项]

功能: uname用来获取电脑和操作系统的相关信息。

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

-a或--all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类

型,硬件平台类型,操作系统名称

关机

语法:shutdown [选项] ** 常见选项:**

-h: 将系统的服务停掉后,立即关机。

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

-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

相关推荐
SP八岐大兔19 分钟前
Linux(Ubuntu/CentOS)配置开机自启动服务
linux·ubuntu·centos
玄德公笔记23 分钟前
docker-compose搭建sfpt服务器
服务器·docker·容器·sftp·docker-compose
m0_6479990325 分钟前
服务器分区与挂载(新手友好)
运维·服务器
跨境商城搭建开发25 分钟前
一个服务器可以搭建几个网站?搭建一个网站的流程介绍
运维·服务器·前端·vue.js·mysql·npm·php
跑步去兜风27 分钟前
RCCL/NCCL中的Transports方式选择:P2P or SHM or NET
服务器·p2p·nccl·shm·rccl
灰勒塔德29 分钟前
Linux-----进程处理(文件IO资源使用)
linux·运维·算法
mqiqe30 分钟前
Linux 安装rpm
linux·运维·数据库
趣知boy30 分钟前
HUB、交换机、路由器和串口服务器
运维·服务器·网络
nice-wyh30 分钟前
ssh免密登录服务器
linux·服务器·ssh
spcodhu1 小时前
在 Ubuntu 上搭建 MinIO 服务器
linux·后端·minio