Linux命令
1、vi和vim快捷键
-
拷贝当前行:【yy】
-
拷贝当前行向下的5行:【5yy】 并粘贴(输入【p】)
-
删除当前行:【dd】
-
删除当前行向下的5行:【5dd】
-
在文件中查找某个单词:
-
命令行下,【/关键字】,回车查找,输入【n】就是查找下一个
-
-
设置文件的行号/取消文件的行号
-
命令行下,【set nu】、【set nonu】
-
-
编辑/etc/profile文件,在一般模式下,到该文件的最末行【G】和最首行【gg】
-
编辑/etc/profile文件,在一般模式下,将光标移动到20行:
-
输入【20】,在输入【shift+g】
-
2、关机&重启
-
立刻进行关机:【shutdown -h now】、【halt】
-
一分钟后关机:【shutdown -h 1】
-
现在重新启动计算机:【shutdown -r now】、【reboot】
-
把内存的数据同步到磁盘:【sync】
-
注意:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写入磁盘中,防止数据丢失
-
3、用户登录和注销
-
登录:【su - 用户名】
-
注销用户:【logout】
4、操作用户
-
添加用户:【useradd 用户名】
-
当创建用户成功后,会自动创建和用户同名的家目录
-
也可以通过【useradd -d】指定目录,新的用户名,给创建的用户指定家目录
-
-
给用户设置密码:【passwd 用户名】
-
删除用户:【userdel 用户名】
-
删除用户以及用户主目录:【userdel -r 用户名】
-
-
查询用户信息:【id 用户名】
-
查看当前用户或登录用户:【whoami】、【who am i】(查看的是第一次登录的用户)
-
切换用户:【su - 要切换的用户名】
-
显示当前用户所在的目录:【pwd】
5、用户组
-
新增组:【groupadd 组名】
-
删除组:【groupdel 组名】
-
增加用户时直接加上组:【useradd -g 用户组 用户名】
-
修改用户的组:【usermod -g 用户组 用户名】
-
当添加一个新用户时,未把此用户分到一个组中,则系统默认创建一个与用户名相同的组名并把该用户放入此组中
-
6、运行级别
-
切换运行级别【init[0123456]】
-
关机
-
单用户(找回丢失密码)
-
多用户状态没有网络服务
-
多用户状态有网络服务
-
系统未使用保留给用户
-
图形界面
-
系统重启
-
7、帮助信息
-
获取帮助信息:【man [命令或配置文件]】
-
获取shell内置命令的帮助信息:【help 命令】
8、pwd指令
-
显示当前工作目录的绝对路径
9、ls指令
-
【ls [选项] [目录或是文件]】
-
【ls -a】:显示当前目录中所有的文件和目录,包括隐藏的
-
【ls -l】:以列表的方式显示信息
-
【ls -h】:显示便于人们解读的信息
10、cd指令
-
【cd [参数]】:切换到指定目录
-
【cd ~】:回到自己的家目录,比如root【cd :】
-
【cd ..】:回到当前目录的上一级目录
11、mkdir指令
-
【mkdir [选项] 要创建的目录】
-
【-p】:创建多级目录
12、rmdir指令
-
【rmdir [选项] 要删除的空目录】:删除空目录,若目录下有内容则无法删除
-
【rm -rf】:删除非空目录
13、rm指令
-
【rm [选项] 要删除的文件或目录】
-
【-r】:递归删除整个文件夹
-
【-f】:强制删除不提示
14、touch指令
-
【touch 文件名称】:创建空文件
15、cp指令
-
【cp [选项] source dest】:拷贝文件到指定的目录
-
【-r】:递归复制整个文件夹
16、mv指令
-
【mv source dest】:移动文件与目录,或重命名
-
移动文件:mv /temp/movefile /targetFolder
-
重命名:mv oldNameFile newNameFile
17、echo指令
-
【echo [选项] [输出内容]】:输出内容到控制台
18、head指令
-
【head 文件】:显示文件的开头部分内容,默认情况下head指令显示文件的钱10行内容
-
【head -n 5 文件】:查看文件的头5行内容,其中5可以是任意行数
19、tail指令
-
【tail 文件】:查看文件尾10行内容
-
【tail -n 5 文件】:查看文件的尾5行内容,其中5可以是任意行数
-
【tail -f 文件】:实时追踪该文档的所有更新
20、cat指令
-
【cat [选项] 要查看的文件】:查看文件的内容
-
【-n】:显示行号
注意:cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 |more
eg:cat -n /etc/profile |more
21、>和>>指令
输出重定向和追加
-
【ls -l > 文件】:列表的内容写入文件a.txt中(覆盖写)
-
【ls -al >> 文件】:列表的内容追加到文件a.txt的末尾(不覆盖)
-
【cat 文件1 > 文件2】:将文件1的内容覆盖到文件2
-
【echo "内容" >> 文件】:追加
22、history指令
-
【history】:查看所有已经执行过的历史命令
-
【history 10】:显示最近使用过的10个指令,其中10可以时任意数
-
【!5】:执行历史编号为5的指令
23、ln指令
-
【ln -s [原文件或目录] [软链接名]】:给原文件创建一个软链接
-
eg:在/home目录下创建一个软链接myroot,连接到/root目录 : ln -s /root /home/myroot
-
eg:删除软链接myroot:rm /home/myroot
24、date指令
-
【date】:显示当前时间
-
【date -s】:字符串时间
-
【date + %Y】:显示当前年份
-
【date + %m】:显示当前月份
-
【date + %d】:显示当前是哪一天
-
【date + ""%Y-%m-&d %H:%M:%S"】:显示年月日、时分秒
25、cal指令
-
【cal】:不加选项,显示当前日历
-
【cal 2020】:显示2020年日历
26、more指令
-
【more 要查看的文件】:基于VI编辑器的文本过滤器,以全屏方式展示
-
快捷键:
-
空白键(space):向下翻一页
-
Enter:向下翻一行
-
q:立刻离开more,不在显示该文件内容
-
Ctrl+F:向下滚动屏
-
Ctrl+B:返回上一屏
-
=:输出当前行的行号
-
:f :输出文件名和当前的行号
-
27、less指令
-
【less 要查看的文件】:比more指令更加强大的指令
-
快捷键:
-
/字串:向下搜寻字串的功能;n:向下查找;N:向上查找
-
?字串:向上搜寻字串的功能;n:向上查找;N:向下查找
-
28、find指令
-
【find [搜索范围] [选项]】:从指定的目录向下递归地遍历其各个子目录,将满足条件地文件或者目录显示在终端
-
【-name<查询方式>】:按照指定的文件名查找模式查找文件
-
【-user<用户名>】:查找属于指定用户名所有文件
-
【-size<文件大小>】:按照指定的文件大小查找文件
-
eg1:按文件名:根据名称查找 /home 目录下的 hello.txt 文件
find /home -name hello.txt
-
eg2:按拥有着:查找 /opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody
-
eg3:查找整个Linux系统下大于200M的文件(+n大于,-n小于,n等于,单位有k、M、G)
find / -size +200M
-
29、locate指令
-
【locate 搜索文件】:快速定位文件路径
注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指定创建locate数据库
30、which指令
-
【which ls】:查看ls指令在哪个目录下
31、grep指令和管道符号|
-
【grep [选项] 查找内容 源文件】:过滤查找
-
【-n】:显示匹配行及行号
-
【-i】:忽略字母大小写
-
管道符号 | :表示将前一个命令的处理结果输出传递给后面的命令处理
-
eg:请在hello.txt文件中,查找"yes"所在行,并且显示行号
-
cat /home/hello.txt | grep "yes"
-
grep -n "yes" /home/hello.txt
-
-
32、gzip/gunzip指令
-
【gzip 文件】:压缩文件,只能将文件压缩为*.gz文件
-
【gunzip 文件.gz】:解压缩文件命令
33、zip/unzip指令
-
【zip [选项] XXX.zip 将要压缩的目标地址】:压缩文件和目录的命令
-
【-r】:递归压缩,即压缩目录
-
【unzip [选项] 将要解压的目标地址 XXX.zip】:解压缩文件
-
【-d<目录>】:指定解压后文件的存放目录
-
eg1:将/home下的所有文件或文件夹进行压缩成myhome.zip
zip -r myhome.zip /home/
-
eg2:将myhome.zip解压到/opt/tmp目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
-
34、tar指令
-
【tar [选项] XXX.tar.gz 打包的内容】:打包目录,压缩后的文件格式.tar.gz
-
【-c】:差生.tar打包文件
-
【-v】:显示详细信息
-
【-f】:指定压缩后的文件名
-
【-z】:打包同时压缩
-
【-x】:解包.tar文件
-
eg1:压缩多个文件夹,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat/txt
-
eg2:将 /home 的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
-
eg3:将myhome.tar.gz解压到 /opt/temp2 目录
mkdir /opt/temp2
tar -zxvf /home/myhome.tar.gz /opt/temp2
-
35、chmod指令
修改文件或目录的权限
-
通过+、-、=变更权限
-
u:所有者 g:所有组 o:其他人 a:所有人
-
chmod u=rwx,g=rx,o=x 文件/目录名
-
chmod o+w 文件/目录名
-
chmod a-x 文件/目录名
-
-
-
通过数字变更权限:
-
r = 4、w = 2、x = 1 rwx = 7
-
chmod u=rwx,g=rx,o=x 文件/目录名 相当于 chmod 751 文件/目录名
-
-
36、chown&chgrp指令
-
【chown 新用户名 文件名】:修改文件所有者
-
【chgrp 新组名 文件名】:修改文件所在组
-
【chowm 新用户名 : 新组名 文件名】:同时修改文件所有者和所在组
-
【-R】如果是目录,则使其下所有子文件/目录递归生效
-
-
【usermod -g 新组名 用户名】:修改用户所在组
-
【usermod -d 目录名 用户名】:改变该用户登录的初始目录,用户需要又进入到目录的权限
37、权限
ls -l中显示的内容如下:
-rwxrw-r-- 1 root root 1212 Feb 2 03:39 abc
-
第0位确定文件的类型:d、-、l、c、b、
-
l:链接,相当于windows的快捷方式
-
d:目录,相当于windows的文件夹
-
c:字符设备文件,鼠标,键盘
-
b:块设备:硬盘等
-
-
第1-3位确定所有者,(该文件的所有者)拥有该文件的权限。----User
-
第4-6位确定所属组,(同用户组的)拥有该文件的权限。----Group
-
第7-9位确定其他用户拥有该文件的权限。----Other
-
rwx作用到文件:
-
[r]代表可读:可以读取,查看
-
[w]代表可写:可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
-
[x]代表可执行:可以被执行
-
-
rwx作用到目录上:
-
[r]代表可读:可以读取,ls查看目录内容
-
[w]代表可写:可以修改,对目录内创建+删除+重命名目录
-
[x]代表可执行:可以进入该目录
-