目录
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系统里,一切皆文件(树状结构),所以我们需要熟练掌握相应的操作指令,耗费五个小时写下本文,方便自己日后的查找,也与朋友们分享,希望朋友们多多批评指正。
shutdown后面可以跟不同的参数,表示不同的含义
回车后,直接重启
这个比较简单,效果就是关机
重启系统
这个指令还是蛮重要的。
它代表把内存的数据同步到磁盘,实际开发过程中,我们可以在关机前,执行一下该指令,比较有保障,该指令执行后不会有什么回馈。
代表已经保存。
注销当前用户
我这里使用的是Xshell7远程登录操作的。
每当你创建一个用户,都会自动在/home目录下生成一个以该用户名命名的家目录。
这是该用户进入Linux系统的凭证。
在介绍用户管理的指令之前,我们先来介绍一个运行级别的概念。
在CentOS7以上的版本,主要为大家介绍两个运行级别: graphical.target(图形界面)和multi-user.target(多用户有网络服务)
其实从表面上看就是图形化操作界面和命令行,在学习的过程中我们可以辅助图形化界面来理解,但实际开发过程中是不会使用的,太low了。
systemctl set-default grapuical.target (切换到图形界面)
systemctl set-default multi-user.target (切换到命令行)
切换之后,重启虚拟机,就会切换到对应的运行级别。
systemctl get-default
切换当前用户
格式: su - ‘用户名’
我从root用户切换到了普通用户:
当你从普通用户切换到root这种高级别的用户时,需要输入密码才可以:
当你需要从切换到的用户返回到原来用户时候,使用exit指令:
作用: 添加用户
语法格式:useradd [选项] 用户名
添加成功
作用:删除用户
语法格式 : userdel [用户名] (会保留家目录)
userdel -r [用户名] (连同创建的家目录也一起删掉,这种做法需要谨慎)
作用:给指定的用户修改密码
语法格式 : passwd 用户名
Linux里的每个用户都至少属于一个组。
当你创建用户时,系统会为该用户自动分配组号和组名。我们可以用 id 用户名 查看,如下图:
我们也可以再创建用户时候为其指定分组。
增添组
格式:groupadd [组名]
创建分组:makabaka
删除组
格式:groupdel [组名]
语法格式: useradd -g [组名] [用户名]
usermod -g [用户组] [用户名]
作用: 显示当前工作目录的绝对路径。
语法格式: pwd
切换目录(change direcroty)
cd [路径]
说到这里,我们就不得不介绍一些关于绝对路径和相对路径的事儿了。
其实也很简单,两个路径的主要区别就是:
绝对路径:从根目录出发
相对路径: 从当前目录出发
如果我当下就在home下,我去到tiger目录就直接执行命令: cd tiger(相对路径的写法)即可。
如果是绝对路径,则是 cd /home/tiger
假如当前我在/root/home/txbb这个目录下,我需要使用相对路径回到root目录下该怎么写呢?
cd ../../root
cd..
cd~
显示当前目录下的文件列表。
语法格式: ls 后可跟多种不同的参数,来显示不同的文件列表信息。
ls -a 显示隐藏的文件
ls -la 把两个的功能凑到一块儿了,以列表的形式显示所有的文件列表(包括隐藏的)
ll 等价于 ls -l
使用which指令,查看ll的相关信息
创建目录(make directory)
语法格式 : mkdir [目录]
创建空目录:mydir
mkdir -p [多级目录]
删除空目录
rmdir [目录路径]
如果非空呢?
删除失败
那我们肯定要有对策啊
删除非空目录指令:rm (删除文件或目录)
格式:rm -r [非空目录]
如果你不想要这些提示,再加入参数-f 即可 (rm -r -f p1 / rm -rf p1)
创建空文件
语法格式:touch [文件名]
拷贝文件到指定目录
语法格式:cp [选项] source dest
将txbb目录下的hello2.txt复制到home目录下:
如果想把一个目录含有多个文件夹,你想把该目录直接复制到另一个目录下,则需要参数-r。
语法格式: cp -r source dest
我县创建了一个txbb1目录,然后将txbb这个目录拷贝到了txbb1下,如下图
当你再执行一次的时候,会提示你是否覆盖,如果你不想要这个提示,则使用\cp
强制不提示语法格式: \cp -r source dest
移动目录文件或重命名
mv oldName newName (重命名)
mv source dest 在移动的过程中重命名
移动txbb下的hello.txt文件到txbb1下:
我这里的写的是绝对路径:
将hello.txt重命名为: hello.world:
两个小参数:
查看文件的内容,以只读的形式打开
cat [选项] 文件名
我们以etc下的profile文件为例:
显示行号: cat -n [选项] 文件名
分页浏览: cat -n [选项] 文件名 | more
按空格翻页
对文件以全屏幕方式进行查看
more [文件路径]
这里借用了一下韩顺平老师的图
more没有向前翻的快捷键,而接下来的less则功能更强大,推荐使用less。
跟more的功能类似,但比more更强大
语法格式: less [选项] 文件
内置的一些快捷键
通过快捷键我们也可以看到,该指令既可以向前翻,也可以向后翻,十分好用,强推。
> :输出重定向,会将原来的文件覆盖。
>> : 追加,追加到文件的末尾,不会覆盖。
cal > /home/cal.txt 将当前的日历信息写入到cal.txt文件中:
如果没有cal.txt文件,则会自动创建cal.txt文件
追加操作:
输出内容到控制台
语法格式: echo [选项] 输出内容
显示文件的开头部分,默认显示前10行
head [参数] 文件
空行也算一行:
查看前五行:
从文件尾开始查看,默认显示十行
软连接,类似于Windows里面的快捷方式,存放着链接其他文件的路径
语法格式:ln -s [原文件或目录] [软链接名] (给原文件创建一个软链接)
给txbb下的hello.txt文件创建一个名为"linkedHello"的软连接。
在删除软连接时,不可加入/,否则删除失败
查看历史使用过的指令
这个大家自己去试一下就好了。
直接敲入history就ok
显示当前日期
严格按照语法来,别写错了就行。
date -s 字符串时间 设置时间(自定义)
显示当前日历
查找指令
语法格式:find [搜所范围] [选项]
按文件名查找:
locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,必须定期更新 locate 时刻。
搜索前必须先使用命令:updatedb指令创建locate数据库。
查找hello2.txt所在的文件路径。
grep指令和管道符号 "|"
grep是根据指定的条件筛选查找,“|" 表示一个通道,可以将前面的指令的结果传给后面的指令继续使用。
自己本身也是可以匹配的
grep -i 忽略大小写的不同
grep -n 输出行号
zip:压缩文件
unzip:解压文件
跟windows里的还是很类似的,很友好。
zip语法格式:zip [选项] XXX.zip [将要压缩的内容]
将home下的所有目录压缩成myhoes.zip;因为home下有很多目录,所以要递归处理。
执行完显示了一大大串的压缩过程(忽略忽略就好啦)
看结果:
unzip语法格式:unzip [选项] XXX.zip
将压缩文件解压缩到指定的目录下(home下的txbb(天线宝宝)哈哈哈!~~)
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 [解包路径]
好像要快点长大了
哈哈哈。先到这儿吧,要去休息一下了。
希望可以帮到你们啊!