压缩解压文件命令
压缩文件:zip
zip -r 压缩的文件名字.zip ./目录;
需要先安装一下zip命令插件;
yum -y install zip;
安装成功,重新运行zip命令;
zip -r 要压缩的文件名字.zip ./test2;(./指的是当前目录下的test2文件);
解压:unzip 要解压的文件名字;
同样使用之前也需要安装一下unzip的插件;
yum -y install unzip;
压缩
压缩文件:bzip2 -k 要压缩的文件名字.bz2;
-k:产生压缩的文件后保留原文件;
同样在使用之前安装一下插件;yum -y install bzip2;
解压文件:bunzip2 -k 要解压的文件名字;
-k:解压的文件后保留原文件;
同样在使用之前安装一下插件;yum -y install bunzip2;
压缩解压命令:tar
压缩:tar -zcvf 要压缩的文件名字.tar 目录;
解压:tar -zxvf 要解压的文件名字 -C 指定文件目录;
帮助命令(了解一下)
获得帮助信息:man 指令或者配置文件 例如:man ls
获得帮助信息:info 任何关键字 例如:info ls
获得索引的简短说明信息:whatis apropos 任何关键字 例如:whatis ls
apropos fstab 相当于 man -k
建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是数据库没有建立;
输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容;
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加;
把使用命令打印出来的内容利用定向输出写进aa.txt文件里;
vim编辑器
第一步安装vim插件;
yum -y install vim
如上图,安装成功。
vim 文件名字
进入编辑模式 i
从编辑模式退出 按esc 再输入:wq 单击回车键;
vim分为三种状态;
命令模式:
在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last );
gg 到文本的第一行(光标)
G 到文本的最后一行
$ 当前行的最后一个字符
(替换和取消命令)
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 进入块可视模式
(复制粘贴)
yw:将光标所在之处到字尾的字符复制到缓冲区中。(单个字)
yy:复制光标所在行到缓冲区。(单行内容)
yy:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴 功能。
(查找)
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
(替换)
在命令模式下使用“s/原字符/新字符/g” 代表当前行所有;
如果想全局替换,s变为%s;
文件内全部替换:
:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)
--注:把abc替换成123
(或者: %s/str1/str2/g 用str2替换文件中所有的str1)
文件内局部替换:
:20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)
--注:把20行到30行内abc替换成123
插入模式:
也称为编辑文本模式 只有在Insert mode下,才可以做文字输入,按 「ESC」键可回到命令行模式。
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
底行模式:
将文件保存或退出vi,也可以设置编辑环境,如搜索、替换、保存、退出、撤销、高亮等等;
:set nu 显示行号
:set nonu 取消行号
:n 到文本的第n行 例如: :5光标到文本的第5行;
用户权限管理和时间
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理。
用户组的管理。
注意三个文件:(所有核心文件都是在/etc文件夹下进行操作的)
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
查看当前用户:whoami
根用户都是从0开始的(第三个域)
除了第一行root外,下面的都是操作系统的伪用户(除普通用户外)
超级用户:(root,UID=0)
普通用户:(UID在500到60000)
伪用户:(UID在1到499)
伪用户不能登录系统,而且没有宿主目录
为什么需要伪用户:没有用户登录时,linux系统依然要运行,有很多进程在跑着,所以必须需要一些伪用户来执行那些命令
用户信息管理
创建用户:useradd 用户名字;
增:创建用户的同时,也会自动在文件夹/home路径下创建一个跟用户名一样的家目录;
-g 指定的主组;
-G 指定的附加组;
-u id的值;
-c 添加注释;
文件名字;
useradd cc
useradd -g xxx -G xxx -u id值 -c 好人 cc
groups 文件名字
切换用户: su 用户名;
注:root用户切换到普通用户不需要输入密码;反之,普通用户切换到root用户,则需要输入密码
普通用户切换root用户;
修改用户密码:passwd 用户名;
删:删除用户:userdel 用户名字;
但是,用户为yyds的家目录没有删除掉;
彻底删除:userdel -r 用户名字;
改:usermod 用户名字 (和增的写法是一样)
-L 锁定用户:usermod -L 用户名(注:锁定完用户就无法登录,只有解锁完用户才可以登录)
-U 解锁用户: usermod -U 用户名
查:cat /etc/passd;
组信息管理
增:添加一个组 groupadd -g id的值(普通用户的id值在500-6000) 组的名字
改:更改组名称:groupmod -g id的值 -n 新的组的名字 旧的组的名字;
删:删除组 groupdel 组名称;
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。
查:查看 cat /etc/group;
给文件授权到组:chgrp 组名 文件名;
权限管理命令:chmod
R 4 读
W 2 写
X 1 执行
chmod 777 文件名
时间
查看当前时间:date
格式化当前时间 date "+%Y-%m-%d %H:%M:%S"
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
当前时间的前一年:date -d "-1 year" "+%Y-%m-%d %H:%M:%S"(获取之前或者之后的某一个时间);
查看硬件时间:hwclock
设置当前的时间:date -s "2024-01-11 11:21:00"
将系统时间同步到硬件时钟:hwclock --systohc
时间不一致的问题:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime