linux笔记和常用指令
vim
vi和vim的三种常见模式
- 命令模式(可以使用快捷键)
- 输入模式(输入i进入输入模式)
- 底线模式(读取,存盘,替换,离开vim)
- q:直接退出
- q!:强制退出
- w:写入磁盘
- w!:强制写入磁盘
- wq:写入磁盘并退出
- wq!:强制写入磁盘并退出
- 更多命令
关机和重启
shutdown:
- shutdown -h now:立即关机
- shutdown -h 1:1分钟之后关机
- shutdown -r now:重启
**halt:**关机
**reboot:**重启
**sync:**把内存数据同步到磁盘(关机或重启是应先执行此命令)
用户管理
linux通过组的概念来管理用户和权限,每个用户都至少属于一个组
1. 添加用户
useradd 用户名:家目录位于/home下
useradd -d /home/person :创建用户并指定该用户的家目录
useradd -g 组名 用户名:创建用户并指定用户组(组必须存在)
usermod -g 组名 用户名:修改用户的组
passwd 用户名:设置用户的密码
2. 删除用户
userdel 用户名:删除用户,但保留用户家目录
userdel -r 用户名:删除用户,且删除用户家目录
3. 查看用户信息
id 用户名:显示用户id,组id,组名
4. 切换用户
su 用户名:切换到用户
高权限用户切换低权限用户不需要输密码,低权限切换到高权限需要密码,当需要返回原来用户是使用exit命令
组管理
相当于角色,可对有共性的用户集中管理
1. 创建组
groupadd 组名
2. 删除组
groupdel 组名
用户和组相关文件
/etc/passwd 文件:用户的配置文件,记录用户各种信息
每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
个人感觉可以用此文件查看谁对本机进行了何种操作
/etc/shadow 文件:口令文件
/etc/group 文件:组配置文件
每行含义:组名:口令:组标识号:组内用户列表
实用指令
-
帮助指令
-
man [命令或配置文件]:帮助指令,会列出帮助信息(centos7支持简体中文)
-
help [命令]:帮助指令
-
-
文件目录类(常用)
-
pwd:显示当前目录的绝对路径
-
ls:显示文件和目录
- ls -a:显示当前目录所有的文件和目录
- ls -l:列表方式显示信息
-
cd:进入到指定目录
- cd ~ :回到自己的家目录
- cd … :回到当前目录的上级目录(相对定位)
- cd /usr/local:进入到/usr目录下的local目录(绝对定位)
-
mkdir:创建目录文件夹
- mkdir /home/dog:在home下创建dog目录
- mkdir -p /home/animal/dog:在home先创建animal然后在animal下创建dog
-
rmdir:删除空目录
- rmdir /home/dog
-
rm -rf 目录名或文件名:强制删除文件夹及文件夹下所有文件(删库跑路必备神器)
-
touch 文件名:创建一个空文件
-
cp:拷贝文件到指定目录
-
cp aaa.txt bbb/:将当前目录aaa.txt拷贝到bbb目录下
-
cp -r /home/tomcat/ /opt/:将home下的tomcat目录拷贝到opt目录下,当tomat有文件或文件夹时,应带参数-r
-
\cp -r /home/tomcat/ /opt/:opt下存在tomcat目录时会提示是否覆盖,此命令强制覆盖
-
-
mv:移动文件与目录或重命名
- mv pig.txt dog.txt:将pig.txt重命名为dog.txt
- mv tomcat/ /home/:将tomcat目录移动到home目录下
-
cat:只读方式打开文件
- cat 文件名:显示文件内容
- cat -n 文件名:带行号,显示文件内容
- cat -n 文件名 | more :带行号,分页(空格进入下一页),显示文件内容
-
less:分屏查看内容(懒加载,效率高,适合大型文件的查看)
-
less /etc/profile
快捷键 功能 空格键、pagedown 向下翻动一页 pageup 向上翻动一页 /字符 向下搜索字符 ?字符 向上搜索字符 q 离开less程序
-
-
>和>>
- cat /etc/profile > a.txt:将etc下的peofile内容覆盖写入到a.txt中
- cat /etc/profile >> a.txt:将etc下的peofile内容追加写入到a.txt中
- echo hello >> a.txt:将hello追加写入到a.txt中
- echo hello:将hello输出到控制台
-
head 文件名(默认前10行)
- head /etc/profile:显示etc下profile前10行内容
- head -n 5 /etc/profile:显示etc下profile前5行内容
-
tail 文件名(默认输出后10行)
-
tail /etc/profile:显示etc下profile后10行内容
-
tail -n 5 /etc/profile:显示etc下profile后5行内容
-
tail -f 文件名:实时追踪文件的所有更新(常用,日志文件的追踪)
-
-
ln -s 链接到的地址 链接名(类似于windows的快捷方式)
- ln -s /root lindToRoot:链接为lindToRoot
-
history:查看执行过的历史指令
-
-
时间日历类
-
date:当前时间信息,设置时间
-
date +%Y:当前年份
-
date +%Y-%m:当前年月
-
date +%Y-%m-%d:当前年月日
-
date “+%Y-%m-%d %H:%M:%S"”:当前年月日时分秒
-
date -s “2019-10-19”:设置日期
-
-
cal:日历
- cal :显示当前日历信息
- cal 2019:显示2019年所有日历
-
-
压缩和解压缩
-
gzip和gunzip:压缩和解压缩(完成后不会保留原文件)
- gzip a.txt:将a.txt压缩,并删除掉a.txt
- gunzip a.txt.gz:将a.txt.gz解压缩,并删除掉a.txt.gz
-
zip和unzip:压缩和解压缩
- zip [选项] 压缩包.zip 被压缩的文件或目录
- zip -r(递归压缩) package.zip /home/:将home下的所有文件递归压缩为package.zip
- unzip [选项] [解压位置] 被解压文件或目录
- unzip -d(指定解压位置) /opt/tmp/ package.zip:将package解压到opt目录的tmp目录下
-
tar:压缩和解压缩指令,打包完的文件是.tag.gz文件
-
tar [选项] xxx.tar.gz 被打包的文件或目录
-
tar -zcvf a.tar.gz a.txt b.txt:将a.txt和b.txt压缩为a.tar.gz
-
tar -zcvf a.tar.gz /home/:将home目录下所有文件压缩为a.tar.gz
-
tar -zxvf a.tar.gz -C /opt:将a.tar.gz解压缩到opt目录下
选项 功能 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件
-
-