在linux中,一切皆文件。
linux系统目录
vi/vim
- 进入或创建文件 vim hello.txt
- 按下 i 进入输入模式(也称为编辑模式),开始编辑文字
- 按下 ESC 按钮回到一般模式
- 在一般模式中按下 :wq 储存后离开
复制
- yy 复制游标所在的那一行
- nyy n 为数字。复制光标所在的向下 n 行,
例如 20yy 则是复制 20 行
粘贴
- p为将复制的数据粘贴
删除
- dd 删除游标所在的那一整行
- ndd n 为数字。删除光标所在的向下 n 行,
例如 20dd 则是删除 20 行
查找
- /word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!
- ?word 向光标之上寻找一个字符串名称为 word 的字符串。
- n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串
序列号
- :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
- :set nonu 与 set nu 相反,为取消行号
移动
- G 移动到这个档案的最后一行
- nG n 为数字。移动到这个档案的第 n 行。
例如 20G 则会移动到这个档案的第 20 行
(可配合 :set nu)也可以n+shift+g - gg 移动到这个档案的第一行,相当于 1G 啊!
恢复
- u 复原前一个动作。(常用)
- [Ctrl]+r 重做上一个动作。(常用)
提示:这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
- . 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)
关机&重启命令
基本介绍
- shutdown
shutdown -h now : 表示要立即关机
shutdown -h 1 : 表示1分钟后关机
shutdown -r now :立即重启 - halt
就是直接使用,效果等价于关机 - reboot
就是重启系统 - sync:把内存的数据同步到磁盘
注意细节
- 当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失。
用户和用户组管理
基本介绍
一、Linux系统用户账号的管理
1、添加新的用户账号使用useradd命令,其语法如下:
useradd 选项 用户名
具体请看上面链接
- 细节说明:
当创建用户成功后,会自动的创建和用户同名的家目录,也可以通过useradd-d指定目录 - 补充:给用户指定或修改密码
passwd 用户名
2、删除帐号
-
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
-
删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
补充:不加-r则不删除家目录。
在删除用户时,我们一般不会将家目录删除。
3、修改帐号
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
具体请看上面链接
4、用户口令的管理
-
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
-
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为
passwd 选项 用户名
具体请看上面链接
二、Linux系统用户组的管理
- 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
- 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
1、增加一个新的用户组
1、增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
具体请看上面链接
2、删除一个新的用户组
2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
groupdel 用户组
3、修改用户组的属性使
3、修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
具体请看链接
4、切换用户组
4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
三、与用户账号有关的系统文件
看菜鸟教程即可
使用指令
1.运行级别和找回root密码
2.帮助指令
3.文件目录类
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。
ls (列出目录)
基本语法
ls [选项] [目录或是文件]
选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
例子:
ls ls -a ls -l ls -al
cd (切换目录)
基本语法
cd [参数] (功能描述:切换到指定目录)
• 常用参数
绝对路径和相对路径
cd ~ 或者cd 回到自己的家目录
cd .. 回到当前目录的上一级目录
pwd (显示目前所在的目录)
pwd
mkdir (创建新目录)
mkdir [-mp] 目录名称
选项与参数:
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
rmdir (删除空的目录)
语法:
rmdir [-p] 目录名称
选项与参数:
-p :连同上一级『空的』目录也一起删除
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
touch指令
touch指令创建空文件
• 基本语法
touch 文件名称
cp (复制文件或目录)
cp 指令拷贝文件到指定目录
• 基本语法
cp [选项] source dest
• 常用选项
-r :递归复制整个文件夹
强制覆盖不提示的方法:\cp
rm (移除文件或目录)
语法:
rm [-fir] 文件或目录
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
mv (移动文件与目录,或修改名称)
语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 … directory
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
cat指令
cat 查看文件内容
• 基本语法
cat [选项] 要查看的文件
• 常用选项
-n :显示行号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
more指令
less指令
指令 和 >> 指令
输出重定向和 >> 追加
• 基本语法
- ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
- ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
- cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
- echo “内容”>> 文件
• 应用实例
案例2: 将当前日历信息 追加到 /home/mycal 文件中
echo指令
echo输出内容到控制台。
• 基本语法
echo [选项] [输出内容]
• 应用实例
案例: 使用echo 指令输出环境变量
echo $PATH
head指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
• 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail指令
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
• 基本语法
- tail 文件 (功能描述:查看文件头10行内容)
- tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
- tail -f 文件 (功能描述:实时追踪该文档的所有更新)
要等到按下[ctrl]-c才会结束tail的侦测
• 应用实例
案例: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
ln 指令
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
• 基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
• 应用实例
案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /xiaoming/Hello.java目录
ln -s /home/xiaoming/Hello.java linkToRoot
案例2: 删除软连接 linkToRoot
/home/xiaoming/Hello.java
• 细节说明
当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。
history指令
查看已经执行过历史命令,也可以执行历史指令
• 基本语法
history (功能描述:查看已经执行过历史命令)
• 应用实例
案例1: 显示所有的历史命令
history
案例2: 显示最近使用过的10个指令。
history 10
案例3:执行历史编号为5的指令
!5
4.时间日期类
date指令-显示当前日期
• 基本语法
- date (功能描述:显示当前时间)
- date +%Y (功能描述:显示当前年份)
- date +%m (功能描述:显示当前月份)
- date +%d (功能描述:显示当前是哪一天)
- date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
• 应用实例
案例1: 显示当前时间信息
date
案例2: 显示当前时间年月日
date “+%Y-%m-%d”
案例3: 显示当前时间年月日时分秒
date “+%Y-%m-%d %H:%M:%S”
date指令-设置日期
• 基本语法
date -s 字符串时间
• 应用实例
案例1: 设置系统当前时间 , 比如设置成 2020-11-11 11:22:22
cal指令-查看日历指令
• 基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
• 应用实例
案例1: 显示当前日历
案例2: 显示2020年日历 cal 2020
搜索查找类
find指令
应用实例
案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件
find /home -name hello.txt
案例2:按拥有者:查找/opt目录下,用户名称为 nobody的文件
find /opt -user nobody
案例3:查找整个linux系统下大于20m的文件(+n 大于 -n小于 n等于)
find / -size +20M
find / -size +20480k
locate指令
locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径
的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。
为了保证查询结果的准确度,管理员必须定期更新locate时刻。
• 基本语法
locate 搜索文件
• 特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
grep指令和 管道符号 |
压缩和解压类
gzip/gunzip 指令
gzip 用于压缩文件, gunzip 用于解压的
• 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
• 应用实例
案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩
案例2: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩
zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
• 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
• zip常用选项
-r:递归压缩,即压缩目录
• unzip的常用选项
-d<目录> :指定解压后文件的存放目录
• 应用实例
案例1: 将 /home下的 所有文件进行压缩成 mypackage.zip
案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下
tar 指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
• 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
• 选项说明
• 应用实例
案例1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
案例2: 将/home 的文件夹 压缩成 my