title: 【学习之路】Linux命令学习
draft: true
tags:
- 学习之路
- Linux
categories: Linux
cover: ‘https://cdn.jsdelivr.net/gh/CodeZixuan/Blog_Images/VM/20210308221833.jpg‘
description: Linux基本命令学习
abbrlink: 9a5a5652
date: 2021-02-21 21:10:30
Linux关机、重启、注销
shutdown
shutdown -h now
: 表示立即关机shutdown -h 1
: 表示一分钟后关机shutdown -r now
: 立即重启
halt
: 直接使用效果等价于关机reboot
: 重启系统sync
: 把内存的数据同步到磁盘 执行后无效果logout
: 注销用户
logout注销指令在图形界面无效
用户管理(创建用户、查询用户信息、切换用户)
- 创建一个叫zhangsan的用户:
useradd zhangsan
创建用户成功后,会自动创建和用户同名的家目录
也可以通过
useradd -d 指定目录 新的用户名
,给新创建的用户指定家目录
给用户指定密码:
passwd 指定密码的用户
删除用户:
userdel 用户名
userdel 用户名
不会删除家目录需要使用userdel -r 用户名
- 查询用户:
id 用户名
- 切换用户:
su - 用户名
高权限用户切换到低权限用户不需要输入密码
- 查看当前用户:
whoami
vim的使用
vim的三种常见模式
- 正常模式
- 插入模式/编辑模式
- 命令行模式
vim的三种模式的相互切换
- 在正常模式下按键盘i进入插入模式
- 退出插入模式切换为正常模式 按键盘Esc键位即可
- 进入命令行模式得先退出插入模式,键盘按:即可进入命令行模式
- 退出命令行模式按键盘Esc键即可
vim常用快捷键
- 拷贝当前行yy,拷贝当前向下的5行兵粘贴 5yy
- 删除当前行dd,删除当前向下5行 5dd
- 在文件中查找某个单词 在命令行模式下输入: /关键字,回车查找,输入n查找下一个
- 设置文件的行号,取消文件的行号:在命令行模式下输入 set nu 和 set nonu
- 使用快捷键到最首行和最末行 回到正常模式:gg 和 G
- 撤销动作 回到正常模式输入: u
- 定位行号 回到正常模式输入:20 Shift + g 定位到20行
退出vim模式,先切换到命令行模式
wq
保存并推出q
退出不保存q!
强制退出不保存
组
- 创建组:
groupadd 组名
- 删除组:
groupdel 组名
- 增加用户时直接指定组:
useradd -g 用户组 用户名
- 修改用户组:
usermod -g 用户组 用户名
文件目录类指令
使用较多的指令已经标记出来
pwd
指令
pwd
:显示当前目录的绝对路径
ls
指令
ls
:查看当前目录的所有信息
- ls -l:以列表的方式显示信息
- ls -a:显示当前目录所有的文件和目录、包括隐藏目录
cd
指令
cd ~
:回到自己的家目录cd ..
:回到上一级目录cd 绝对路径或相对路径
:可以定位到路径下
mkdir
指令
mkdir 目录名称
:创建目录mkdir -p 目录名称/目录名称
创建多级目录
rmidr
指令
rmdir 目录名称
删除目录(只能删除空白目录)
rm -rf
指令
rm -rf 目录名称
删除目录,包括有文件的目录也能删除-r 递归删除整个文件夹
-f 强制删除不提示
touch
指令
创建空文件,可以一次创建多个
cp
指令
cp [选项] [需要复制的文件或目录] [复制到的目录]
- 常用选项 -r 递归赋值整个文件夹
\cp
强制替换相同文件
mv
指令
mv 名称 重命名称
重命名文件或文件夹mv 路径 移动到的路径
剪切文件
cat
指令
cat /etc/profile
只读当前文件cat -n /etc/profile
只读当前文件并显示行号cat -n /etc/profile | more
只读当前文件并显示行号,并且可以按空格键翻页
more
指令
more
要查看的文件- more 指令所搭配的快捷键 | 操作 | 功能说明 | | —- | —- | | 空格(space) | 向下翻一页 | | Enter | 向下翻一行 | | q | 退出more,不在显示文件内容 | | Ctrl+F | 向下滚动一屏幕 | | Ctrl+B | 返回上一屏幕 | | = | 输出当前的行号 | | :f | 输出文件名和当前行的行号 |
less
指令
less 文件名
- 使用less查看大文件较为方便,加载速度更快 | 操作 | 功能说明 | | —- | —- | | 空白键 | 向下翻一页 | | pagedown | 向下翻一页 | | pageup | 向上翻一页 | | /字符 | 向下搜寻字符的功能,n:向下查找 N:向上查找 | | ?字符 | 向上搜寻字符的功能,n:向上查找 N:向下查找 | | q | 离开less |
>
和 >>
指令
>
输出重定向ls -l > a.txt
将 ls -l显示的内容覆盖写入到a.txt文件,如果该文件不存在那么就自动创建。>>
追加ls -l >> a.txt
将 ls -l显示的内容追加到后面的文件中echo "hello" > c.txt
将引号中的字符覆盖到c.txt
echo
指令
echo [选项] [输出内容]
head
指令
head 文件名
默认显示当前文件的前10行head -n 行数 文件名
指定显示文件前N行
tail
指令
tail 文件名
查看文件后10行tail -n 行数 文件名
指定显示文件后N行tail -f 文件名
实时追踪该文档的所有更新
ln
指令
ln -s [源文件或目录] [软连接名]
软连接,类似于Windows里的快捷方式
history
指令
history
查看所有使用过的指令history 10
显示最近使用过的10个指令
时间日期类指令
date
指令
date
显示当前时间date+%Y
显示当前年份date+%m
显示当前月份date+%d
显示当前时那一天date -s "需要设置的时间"
设置时间
cal
指令
cal[选项]
不加选项,显示本月日历
搜索查找类指令
find
指令
find [搜索范围] [选项]
find /home -name hello.txt
从/home目录按照名称来找hello.txt的文件find /opt -root nobody
从/opt目录按照用户名称来查找find /home -size +20M
从/home目录查找超过20M的文件
locate
指令
由于locate指令基于数据进行查询,所以第一次运行前,必须使用
updatedb
指令来创建locate数据
locate hello.txt
grep
指令和管道符号
grep [选项] 查找内容 源文件
选项
- -n 匹配行级行号
- -i 忽略字母大小写
管道符号用来将前一个的结果给到第二个指令
cat hello.txt | grep yes
cat指令浏览出来的结果给到grep用来查找yes这个字符
压缩和解压缩指令
gzip/gunzip
指令
gizp hello.txt
压缩当前目下的hello.txt,当前hello.txt被压缩后不会保留源文件gunzip hello.txt.gz
解压当前目录下的hello.txt.gz解压完成后同样不保留原文件
zip/unzip
指令
zip [选项] 要压缩的文件 目录
压缩内容zip [选项] 要解压的文件
解压缩文件zip常用选项
- -r 递归压缩,即压缩目录
unizp
- -d <目录> 指定解压后文件存放的目录
zip -r test.zip /home/
压缩home目录文件夹所有文件unzip -d /opt/tmp/ test.zip
解压test.zip到/opt/tmp目录
tar
指令
tar [选项] 需要打包的内容
| 选项 | 功能 | | —- | —- | | -c | 产生.tar打包文件 | | -v | 显示详细信息 | | -f | 指定压缩后的文件名 | | -z | 打包同时压缩 | | -x | 解包.tar文件 |
tar -zcvf a.tar.gz 1.txt 2.txt
打包1.txt和2.txt文件为a.tar.gztar -zxvf a.tar.gz
解包a.tar.gztar -zxvf a.tar.gz /home/
将a.tar.gz解压到home目录下