Linux总结--2
常用命令
什么是命令?
指在 Linux 终端(命令行)中输入的内容就称之为命令。
命令的格式
一个完整的命令的标准格式:Linux 通用的格式
#指令主体(空格) [选项](空格) [操作对象]
1.文件处理命令 ls(List)
功能描述:显示文件目录
语法: ls
选项:-a 显示所有文件,包括隐藏文件 (all)
-l 详细信息显示 ls-l =ll
-d 查看目录属性
-h 以可读性较高的形式显示 一般和 l 连用 ls -lh
2 文件处理命令 cd(change directory)
功能描述:切换目录
cd 跟目录名
cd / 切换到根目录
cd .. 回到上级目录
3 文件处理命令 pwd(print working directory)
功能描述显示当前所在的工作目录
pwd
4 文件处理命令 touch
功能描述:创建文件 相当于 windows 的新建文件
touch 文件名
touch newfile
也可以同时创建多个文件
touch test.txt test1.txt
5 文件处理命令 mkdir(make directory)
功能描述:创建目录 相当于 Windows 的新建文件夹
mkdir 目录名
mkdir test
可以同时创建多个目录
mkdir test1 test2
也可以创建多级文件
创建多层文件夹的时候使用的是 mkdir -p 文件夹/文件夹 1
mkdir -p a/b
6 文件处理命令 cp(copy)
功能描述:复制文件或目录
cp [被复制的文档路径] [文档被复制到的路径]
cp /tmp/test /tmp/a
语法: cp -R [源文件或目录][目的目录]
-R 复制目录
当使用 cp 命令进行文件夹复制操作的时候需要添加选项“-r”【-r 表示递归复制】,
否则目录将被忽略
复制的时候文件可以重新命名 但是如果非必须 不建议
7 文件处理命令 mv(move)
功能描述:移动文件 更改名字
更改名字:mv 原文件名 新文件名 (也可以更改目录名)
移动文件
mv [源文件或目录][目的目录]
mv file2 dir2
8 文件处理命令 rm(remove)
功能描述:删除文件
f force 强制
语法: rm -r [文件或目录]
-r 删除目录
范例: rm file3
删除文件 file3
rm -r dir1 也可以 rm -rf dir1
删除目录 dir1
9.文件处理命令 cat(concatenate and display files)
功能描述:显示文件内容
语法: cat [文件名]
cat 还可以对文件进行合并 一个>是覆盖输出 两个>>是追加输出
10.文件处理命令 more
功能描述:分页显示文件内容
语法: more[文件名]
(空格)或 f 显示下一页
(Enter)显示下一行
Q 或 q 退出
范例:$ more /etc/issue
11.文件处理命令 head
功能描述: 查看文件的前几行
语法: head -num [文件名] (-num 显示文件的前 num 行)
显示 test1.txt 文件的前 20 行
head -20 test1.txt
12.文件处理命令 tail
功能描述:查看文件的后几行
语法: tail -num [文件名] (-num 显示文件的后 num 行)
-f 动态显示文件内容
显示 test1.txt 文件的后 20 行
tail -20 test1.txt
13.文件处理命令 wc(word count)
功能描述:统计文本的行数、字数、字符数
语法: wc -mwl [文件名]
-m 统计文本字符数
-w 统计空格字数
-l 统计文本行数
14.文件处理命令 ln(link)
功能描述:产生链接文件
语法: ln -s [源文件][目标文件]
硬连接 (hard)
15.文件搜索命令 find
功能描述:查找文件或目录
语法:find [搜索路径] [选择项] [搜寻关键字]
在目录/tmp下面查找test2.txt 文件
16.文件搜索命令 grep
功能描述:在文件中搜寻字符串匹配的行并输出
语法:grep [指定字串] [源文件] 类似于 ctrl+F
grep -i aaa不区分大小写aaa
grep -v aaa 排除关键字 aaa
grep -w aaa 完全匹配 aaa 关键字
17.查看进程
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
ps -ef | grep -v grep|grep redis
| 管道通信符
ps -ef 查看所有的进程
| grep redis
18.压缩解压命令 tar
功能描述:打包目录
语法:tar 选项[zcvf] [压缩文件的名字] [目录]
tar -zcvf nginx.tar.gz ./
选项:
-c 产生.tar 打包文件
-v 显示详细信息
-z 打包同时压缩
-f 指定压缩后的文件名
解压缩语法 tar -zxvf [指定的压缩文件] -C [目的目录]
选项:
-x 解压.tar 文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
压缩后文件格式: .tar.gz
指定文件夹 -C
tar -zxvf 压文件的名字 -C 指定的目录
VIM 编辑器
安装 vim
yum -y install vim
vim 是 Unix / Linux 上最常用的文本编辑器而且功能非常强大。
vim 优势
1.vim 拥有所有 vi 命令功能;
2.vi 只能在 Unix / Linux,vim 可以在 Unix / Linux,windows 系统上使用
3.vim 编辑器,自动根据文件你内容显示不同的颜色
使用方法
进入方式 vim filename
进入编辑模式 i
从编辑模式退出 按 esc 再输入:wq 单击回车键
vim 的三种状态:
命令模式 (command mode)
命令行模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last )
插入模式 (Insert mode)
插入模式:也称为编辑文本模式 只有在 Insert mode 下,才可以做文字输入,按 「ESC」键可回到命令行模式。
底行模 式 (last line mode)
底行模式: 将文件保存或退出 vi,也可以设置编辑环境,如搜索、替换、保存、退出、撤销、高亮等等
不过一般我们在 使用时把 vi 简化成两个模式,就是将底行模式 (last line mode)也算入命令行模式 command mode)。
插入命令
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
定位命令
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第 n 行
$ 当前行的最后一个字符
替换和取消命令
u 取消上一步操作 Ctrl+r 返回到 undo 之前
r 替换光标所在处字符
R 从光标所在处开始替换,按 esc 结束
删除命令
x 删除光标所在字符
nx 删除光标所在处后 n 个字符
dd 删除光标所在行,ndd 删除 n 行
dG 删除光标所在行到末尾行的所有内容
D 删除光标所在处到行尾的内容
:5,7d 删除指定范围的行,从第 5 行到第 7 行
常用快捷键
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式
V 或 Shift + v 进入行可视模式
Ctrl + v 进入块可视模式
快捷键
Linux 中 vi 编辑器的使用详解,下面的引号和括号不算啊
光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",
"ctrl+b":屏幕往后移动一页
"ctrl+f":屏幕往前移动一页
"ctrl+u":屏幕往后移动半页
"ctrl+d":屏幕往前移动半页
复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6 行文字。
将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴 功能。
查找
恢复上一次操作
恢复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。
按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
时间
查看当前时间
[root@localhost ~]# date
格式化当前的时间
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-02-21 21:57:00
date "+%F %T"
获取之前或者之后的某个时间(备份)
#date -d "-1 day" "+%Y-%m-%d %H:%M:%S"
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导 0)
%d:表示日期(带前导 0)
%H:表示小时(带前导 0)
%M:表示分钟(带前导 0)
%S:表示秒数(带前导 0)
查看硬件时间
[root@localhost ~]# hwclock
Sun 21 Feb 2021 09:59:01 PM PST -0.992879 seconds
设置当前的时间
[root@localhost ~]# date -s "2021-2-22 14:00"
Mon Feb 22 14:00:00 PST 2021
将系统时间同步到硬件时钟
[root@localhost ~]# hwclock --systohc
[root@localhost ~]# date && hwclock
时间不一致的问题:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
用户组管理
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
文件结构:
用户组名:密码:用户组ID:组内用户名
密码:X表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不设置密码;
组内用户名:表示附加组是该组的用户名称
1.添加用户组
常用语法:#groupadd [选项] 用户组名
常用选项:
-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从1000之后递增;
案例:使用groupadd指令创建一个新的用户组,命名为xxx
groupadd xxx
2.更改组名称
groupmod [选项] 组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
案例:修改Administrators用户组,将组ID从502改成520,将名称改为admins
groupmod -g 520 -n admins Administrators
3.删除组
groupdel 组名
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。
4.修改用户的组
usermod -g 用户组 用户名
注:-g–gid,修改用户的gid,该组一定存在
多组:
usermod -G 组名,组名 用户名
usermod -G test,root yyl
5.给文件授权到组
-- change group premission
chgrp 组名 文件名
chgrp g1 /home/test
6.设置文件权限
chmod 770 /home/test
750
用数字来表示权限(r=4,w=2,x=1,-=0)