别错过日落和夕阳

目录

Linux常用基本指令

一.关机注销相关指令

1.shutdown

2.halt

3.reboot

4.sync

5.logout

2.用户管理相关指令

1.运行级别

切换运行级别:

查看当前的运行级别:

2.su

 3.useradd

 4.userdel

5.passwd 

 6.组管理的相関概念

6.1 groupadd

 6.2 groupdel

二.文件操作相关指令

1.pwd

2.cd指令

3. ls

4.mkdir

5. rmdir 

6.touch

7.cp

8.mv

9.cat

10.more

11.less 

12. > 和 >>指令

13.echo

 14.head指令

15. tail指令 

 ​编辑

 16.ln指令

17.history

三.时间日期类相关指令

1.date

2.cal指令

四.搜索查找类相关指令

1.find

2.locate

 3.grep 和 "|"

五.压缩和解压缩类相关指令

1.zip和unzip

 2.tar


 

Linux常用基本指令

在Linux系统里,一切皆文件(树状结构),所以我们需要熟练掌握相应的操作指令,耗费五个小时写下本文,方便自己日后的查找,也与朋友们分享,希望朋友们多多批评指正。

一.关机注销相关指令

1.shutdown

shutdown后面可以跟不同的参数,表示不同的含义

  • shutdown -h now :表示立即关机
  • shutdown -h  1 : 表示一分钟后关机
  • shutdown -r now :立即重启

回车后,直接重启 

2.halt

这个比较简单,效果就是关机

3.reboot

重启系统

4.sync

这个指令还是蛮重要的。

它代表把内存的数据同步到磁盘,实际开发过程中,我们可以在关机前,执行一下该指令,比较有保障,该指令执行后不会有什么回馈。

 代表已经保存。

5.logout

注销当前用户

 我这里使用的是Xshell7远程登录操作的。

2.用户管理相关指令

每当你创建一个用户,都会自动在/home目录下生成一个以该用户名命名的家目录。

这是该用户进入Linux系统的凭证。

1.运行级别

在介绍用户管理的指令之前,我们先来介绍一个运行级别的概念。

在CentOS7以上的版本,主要为大家介绍两个运行级别: graphical.target(图形界面)multi-user.target(多用户有网络服务)

其实从表面上看就是图形化操作界面和命令行,在学习的过程中我们可以辅助图形化界面来理解,但实际开发过程中是不会使用的,太low了。

切换运行级别:

systemctl set-default grapuical.target  (切换到图形界面)

systemctl set-default multi-user.target    (切换到命令行)

切换之后,重启虚拟机,就会切换到对应的运行级别。

 

查看当前的运行级别:

systemctl get-default

2.su

切换当前用户

格式: su - ‘用户名’

  我从root用户切换到了普通用户:

当你从普通用户切换到root这种高级别的用户时,需要输入密码才可以:

当你需要从切换到的用户返回到原来用户时候,使用exit指令:

 

 3.useradd

作用: 添加用户

语法格式:useradd   [选项]   用户名

  添加成功

 4.userdel

作用:删除用户

语法格式 : userdel  [用户名]      (会保留家目录)

                 userdel  -r  [用户名]    (连同创建的家目录也一起删掉,这种做法需要谨慎)

  

5.passwd 

作用:给指定的用户修改密码

语法格式 : passwd    用户名

 

 

 6.组管理的相関概念

Linux里的每个用户都至少属于一个组。

当你创建用户时,系统会为该用户自动分配组号和组名。我们可以用 id 用户名 查看,如下图:

 我们也可以再创建用户时候为其指定分组。

6.1 groupadd

增添组

格式:groupadd  [组名]

创建分组:makabaka 

 

 6.2 groupdel

删除组

格式:groupdel [组名]

 

  •  增加用户时直接将它分配到指定的组里

语法格式: useradd  -g  [组名]  [用户名]

 

  • 修改用户的组

usermod -g [用户组]  [用户名]

 

二.文件操作相关指令

1.pwd

作用: 显示当前工作目录的绝对路径。

语法格式: pwd

2.cd指令

切换目录(change direcroty)

cd [路径]

 

 说到这里,我们就不得不介绍一些关于绝对路径和相对路径的事儿了。

其实也很简单,两个路径的主要区别就是:

绝对路径:从根目录出发

相对路径: 从当前目录出发

 

  • 绝对路径: 

 

  • 相对路径:

 

 如果我当下就在home下,我去到tiger目录就直接执行命令: cd tiger(相对路径的写法)即可。

如果是绝对路径,则是 cd /home/tiger

 

假如当前我在/root/home/txbb这个目录下,我需要使用相对路径回到root目录下该怎么写呢?

cd ../../root

 

 

  •  退回上一级目录:

cd..

  •  回到家目录 

cd~

 

 

3. ls

显示当前目录下的文件列表。

语法格式: ls 后可跟多种不同的参数,来显示不同的文件列表信息。

ls -l    以列表的形式显示当前文件列表                                                                                               

ls -a 显示隐藏的文件                                                                                                                      

ls -la 把两个的功能凑到一块儿了,以列表的形式显示所有的文件列表(包括隐藏的)                

ll 等价于 ls -l                                                                                                                                      

 使用which指令,查看ll的相关信息

 

4.mkdir

创建目录(make directory)

语法格式 : mkdir [目录]

创建空目录:mydir 

 

mkdir -p  [多级目录]                                                                                                                

 

 

5. rmdir 

删除空目录

rmdir [目录路径]

 

 如果非空呢?

 

删除失败

那我们肯定要有对策啊

删除非空目录指令:rm  (删除文件或目录)

格式:rm -r [非空目录]                                                                                                                 

 

如果你不想要这些提示,再加入参数-f 即可 (rm -r -f p1 / rm -rf p1)

 

6.touch

创建空文件

语法格式:touch  [文件名]

 

7.cp

拷贝文件到指定目录

语法格式:cp [选项] source dest

将txbb目录下的hello2.txt复制到home目录下: 

 复制成功

如果想把一个目录含有多个文件夹,你想把该目录直接复制到另一个目录下,则需要参数-r。

语法格式: cp -r source dest                                                                                                      

我县创建了一个txbb1目录,然后将txbb这个目录拷贝到了txbb1下,如下图 

 

 

当你再执行一次的时候,会提示你是否覆盖,如果你不想要这个提示,则使用\cp 

 强制不提示语法格式: \cp -r source dest                                                                                   

 

 

8.mv

移动目录文件或重命名

mv oldName  newName (重命名)                                                                                                    

mv source dest  在移动的过程中重命名                                                                      

 移动txbb下的hello.txt文件到txbb1下:

我这里的写的是绝对路径: 

将hello.txt重命名为: hello.world:

 两个小参数:

  • -f 如果目标文件已经存在,不会询问而直接覆盖
  • -i 若目标文件. (destination) 已经存在时,就会询问是否覆盖

 

9.cat

查看文件的内容,以只读的形式打开

cat [选项] 文件名

 我们以etc下的profile文件为例:

显示行号: cat -n  [选项] 文件名

 

分页浏览:  cat -n  [选项] 文件名 | more 

 

 按空格翻页

10.more

 对文件以全屏幕方式进行查看

more [文件路径]

 

这里借用了一下韩顺平老师的图

 

more没有向前翻的快捷键,而接下来的less则功能更强大,推荐使用less。

 

11.less 

跟more的功能类似,但比more更强大

语法格式: less [选项] 文件

 内置的一些快捷键

 

通过快捷键我们也可以看到,该指令既可以向前翻,也可以向后翻,十分好用,强推。 

 

12. > 和 >>指令

> :输出重定向,会将原来的文件覆盖。

>> : 追加,追加到文件的末尾,不会覆盖。

cal > /home/cal.txt  将当前的日历信息写入到cal.txt文件中:                                                         

 如果没有cal.txt文件,则会自动创建cal.txt文件

追加操作:

 

13.echo

输出内容到控制台

语法格式: echo [选项] 输出内容

 

 14.head指令

显示文件的开头部分,默认显示前10行

head [参数]  文件 

空行也算一行: 

查看前五行:

 

 

15. tail指令 

从文件尾开始查看,默认显示十行

  • tail 文件 (功能描述:查看文件后 10 行内容)
  • tail -n 5 文件 (功能描述:查看文件后 5 行内容,5 可以是任意行数)
  • tail -f 文件 (功能描述:实时追踪该文档的所有更新)

 

 

 16.ln指令

软连接,类似于Windows里面的快捷方式,存放着链接其他文件的路径

语法格式:ln -s [原文件或目录] [软链接名] (给原文件创建一个软链接) 

给txbb下的hello.txt文件创建一个名为"linkedHello"的软连接。 

在删除软连接时,不可加入/,否则删除失败

 

 

17.history

查看历史使用过的指令 

这个大家自己去试一下就好了。

直接敲入history就ok

 

三.时间日期类相关指令

1.date

显示当前日期

  • date (功能描述:显示当前时间)
  • date +%Y (功能描述:显示当前年份)
  • date +%m (功能描述:显示当前月份)
  • date +%d (功能描述:显示当前是哪一天)
  • date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

严格按照语法来,别写错了就行。

date -s 字符串时间   设置时间(自定义)                                                                                         

2.cal指令

显示当前日历

 

四.搜索查找类相关指令

1.find

查找指令

语法格式:find  [搜所范围]  [选项]

 

按文件名查找: 

 

 

2.locate

locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,必须定期更新 locate 时刻。

搜索前必须先使用命令:updatedb指令创建locate数据库。

查找hello2.txt所在的文件路径。

 

 3.grep 和 "|"

grep指令和管道符号 "|"

grep是根据指定的条件筛选查找,“|" 表示一个通道,可以将前面的指令的结果传给后面的指令继续使用。

自己本身也是可以匹配的

  

grep -i 忽略大小写的不同

grep -n 输出行号 

 

五.压缩和解压缩类相关指令

1.zip和unzip

zip:压缩文件

unzip:解压文件

跟windows里的还是很类似的,很友好。

zip语法格式:zip  [选项]  XXX.zip  [将要压缩的内容]                                                                      

将home下的所有目录压缩成myhoes.zip;因为home下有很多目录,所以要递归处理。

执行完显示了一大大串的压缩过程(忽略忽略就好啦)

看结果:

 压缩文件就都是红色的了呗。

unzip语法格式:unzip [选项] XXX.zip                                                                                             

将压缩文件解压缩到指定的目录下(home下的txbb(天线宝宝)哈哈哈!~~)

 

 

 2.tar

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
语法格式:tar  [选项]  XXX.tar.gz  打包的内容

参数: (根据参数的不同执行不同的功能)

 

 

将a1.txt和a2.txt压缩并打包成为 : a.tar.gz 

再将a.tar.gz解包到当前路径(我先删除掉两个目录:a1.txt,a2.txt) 

 删除啦:

唉呀妈呀,又出现了,解包成功: 

 将a.tar.gz解压到指定路径(/home/txbb)

格式:tar  [选项]  打包文件  -C  [解包路径]                                                                                      

 

好像要快点长大了

 哈哈哈。先到这儿吧,要去休息一下了。

希望可以帮到你们啊!

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐