🔥个人主页🔥:孤寂大仙V
🌈收录专栏🌈:Linux
🌹往期回顾🌹:【C++】多态
🔖 流水不争,争的是滔滔不息。
文章目录
- pwd指令
- ls指令
- cd指令
- touch指令
- mkdir指令
- rm指令和rmdir指令
- man指令
- cp指令
- echo指令
- cat指令
- mv指令
- more指令
- less指令
- head指令
- tail指令
- 时间显示相关指令
- find指令
- grep指令
- 解压与压缩指令
-
- [zip /unzip 指令](#zip /unzip 指令)
- tar指令
- Linux和windows压缩包互传
- Linux和Linux压缩包互传
- bc指令
- 常见热键
- [uname --r指令:](#uname –r指令:)
- 关机
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 [选项] 源文件或目录 目标文件或目录 。
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,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系统中所运行的进程。
- 在所指定文件中,查找我们想要的 文件/内容。
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压缩包互传
语法:
- 用sz指令,sz xxx.zip 把Linux服务器中的压缩包发给windows。
- 用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 后面加秒数,亦即『过几秒后关机』的意思