学习内容:
ctrl+alt
+f1 进入图形化界面
+f2 进入完全命令行界面
cd 切换目录
cd /root 绝对路径
cd mnt 相对路径
cd ./ 输出当前路径下的所有文件
cd ./l 输出当前路径下l开头的文件
sudo su 切换到超级管理员
exit 退出当前用户
date 当前日期
date+“+格式” 按照指定格式输出
date+当前日期和时间 对Linux时间进行校准
*:通配符
ls 当前目录下的文件和文件夹
-a 展示包括隐藏文件的所有文件和文件夹和当前目录和上一级目录
-A 不会展示当前目录(.)和上一级目录(…)
–all 完整命令,可以传递参数
-l 展示文件和文件夹的详细信息
-lt 组合命令根据时间进行排序后展示
-i 展示文件夹和文件的索引节点
ls+ 目录 查看当前目录是否存在
tab 补全命令和路径
当检索到多个时,会列出所有内容
上下键展示一条历史命令
ctrl+r 输入部分字母可以检索对应历史命令
history 展示所有历史命令
!+某历史命令对应的序号 展示并再次执行该命令
ctrl+l 或者 clear 清屏
ctrl+a 定位到命令的开头
ctrl+e 定位到命令的结尾
路径以文件目录的形式,没有磁盘
pwd 输出当前所在路径
-P 输出真实目录,因为在软链接中当前目录和真实目录不一样
which+命令 显示命令的存放路径
touch+文件目录 创建文件
可以重复touch会修改创建时间,不会删除文件里的内容
多个文件名创建多个文件
mkdir+文件夹目录 创建文件夹
多个文件夹名创建多个文件夹
-P/p+目录 创建对应层级的文件夹
cp+源文件目录+目标文件目录 复制文件内容到另一个文件,不存在的目标文件会创建
+源文件目录+文件夹目录 将该文件复制到目录内,目录必须存在,不存在的目录会作为文件创建后复制内容
-r+源文件夹目录+目标文件夹目录 复制文件夹内的层级和内容到目标文件夹
-p 参数可以保留文件的权限、所有者和时间戳
cp -r new* dir2 将new开头的文件和文件夹复制到dir2中
mv+源文件目录+目标文件目录 将源文件内容移动到目标文件内,删除源文件
+源文件目录/源文件夹目录+文件夹目录 将该文件/文件夹移动到指定目录下
可以通过通配符进行批量移动
rm+文件名 删除指定文件
可以同时删除多个文件
-f 强制删除不会出现提示
-r+文件夹名 递归删除该文件夹和文件夹里的内容
du 查看当前文件夹的大小,会输出里面的文件夹和对应的参数
-h 同时输出参数和单位
-a 同时展示文件的大小
-s 直接显示当前文件夹的大小
cat+文件名 输出文件里的内容
-n 同时输出行号
less+文件名 展示一页
空格 展示下一页
b键 返回上一页
pagedown 向下翻页
pageup 向上翻页
上下键查看上下行
enter 查看下一行
y键 查看上一行
q键 退出
= 号输出大概行数
h键 显示帮助说明
/+关键字 搜索对应行,关键字高亮显示
n键 向下搜索
N键 向上搜索
head+文件名 显示文件内容的前几行,默认10行
-n+数字 显示指定的行数
tail+文件名 显示文件内容的后几行,默认10行
-n+数字 显示指定的行数
-f 输出文件内容后一直等待展示实时更新的内容
硬链接
通过索引节点进行链接,当一个索引节点被多个文件指向时,就会产生多个硬链接,删除某个文件不会影响到其他文件,防止误删文件
ln+源文件名+目标文件名 创建硬链接,当目标文件名不存在时会创建
软链接
类似于Windows下的快捷方式,一个普通文件包含源文件的位置信息,删除源文件目标文件会爆红
ln±s+源文件名+目标文件名 创建软链接
第二列数字表示有几个文件指向了同一个索引节点
硬链接无法和文件夹链接,但是软链接可以
同级目录下可以用相对路径进行软链接
可以通过软链接删除文件夹里的内容
useradd+用户名 创建用户
userdel+用户名 删除用户,但在home目录下该用户的文件夹还在
-r 删除用户的同时删除文件夹
passwd+用户名 创建密码
su+用户名 登录该用户
在普通用户下使用sudo,相当于实行超级管理员权限,会报错,普通用户只能在自己的根目录下创建文件和文件夹等等
默认所属者和所属组都是当前用户
groups+用户名 可查看当前用户的所属组
groupadd+用户组名 创建用户组
usermod+ -g+用户组名+ 用户名 修改用户的所属组,只能添加到一个组
usermod+ -G+用户组名,组名…+ 用户名 修改用户的所属组,添加到多个组,但可能会删除已在组
usermod+ -aG+用户组名,组名…+ 用户名 追加用户组,不会删除已有用户组
groupdel+用户组名 删除用户组,注意用户的第一个所属组不能删除
chown+用户名+文件/文件夹 修改当前文件/文件夹的所属者,不会修改这个用户的用户组
chgrp+用户名+文件/文件夹 修改当前文件/文件夹的所属组
chown+用户名:用户组名+文件/文件夹 同时修改当前文件/文件夹的所属者和所属组
chown+ -R+用户名:用户组名+文件夹 修改文件夹的所属名和所属组的同时递归修改文件夹内所有的所属名和所属组
l 链接
d 目录
-文件
r 可读
w 可写
x 可执行,在目录下表示可以打开该目录
一般情况下要修改文件需要读写权限同时出现,否则会显示权限不够
可以通过以下方法在只有写权限下修改文件:
> 文件 # 清除文件内容
truncate -s 0 文件 # 清除文件内容
内容 >> 文件 # 向文件追加内容
内容 > 文件 # 覆盖文件内容
所属者权限 所属组权限 其他用户权限(除了超级用户)
修改所属组和所属者不会修改权限
chmod+对应的数字+文件/文件夹 修改文件/文件夹的权限
chmod+u/g/o +/- r/w/x+文件/文件夹 修改文件/文件夹的权限
chmod+u/g/o = r/w/x+文件/文件夹 修改文件/文件夹的权限
用逗号隔开可以同时修改多种权限项
通过同时写多个权限项,修改相同的权限
不写权限项会对所有权限项进行同样的权限修改
vim 编辑文件,不存在的文件会创建
i 进入插入模式
esc进入交互模式
:进入命令模式
+wq 保存并退出
! 强制执行
交互模式下
shift+4 光标到行末
0 光标到行首
w 根据英文单词一个一个跳
方向键 上下左右移动
x 将光标下的字符删除
数字+x 删除指定数量的字符
按两次d键 删除一整行
数字+两次d 删除指定数量的行数
d+w 将光标后的内容按照一定规则删除
光标放在单词的首字母会删除这个单词
不是单词会以空格为结尾当做一个单词一起删除
不是单词时,会删除标点符号前的内容,保留标点符号,标点符号会作为单独的一个删除
数字+d+w 删除指定数量的单词
d+$ 会删除光标后的内容
d+0 会删除光标前的内容
dd 是将该行内容删除放到剪切板里
p 粘贴
数字+p 粘贴指定次数
y 复制上下两行,如果下一行没有内容则不能复制,换行也算内容
yy 复制光标所在一行
yw 复制一个单词
y+0 复制光标之前内容
y+$ 复制光标之后内容
数字+y 将复制该行以下的指定数量的行数加上该行=数字+1行
数字+yy 将复制该行和以下的行数量=数字
r 替换一个单词
R 进入替换模式,超出已有内容就是插入
u 撤销修改
ctrl+r 回退撤销动作
数字+gg 跳转到指定行号的行
gg 跳转到第一行
shift+g 跳转到最后一行
在命令模式中
:set nu 显示行号
:set nonu 隐藏行号
/+关键字 从当前光标位置向下查找关键字,按n继续向下查找,N向上查找
?+关键字 从当前光标位置向上查找关键字,按n继续向上查找,N向下查找
: s/+关键字/+替换文字 查找到关键字,将当前光标所在的关键字替换为对应文字
: s/+关键字/+替换文字/+g 将当前光标所在行的所有关键字替换为对应文字
: 数字1,数字2 s/+关键字/+替换文字/+g 将范围内的所有行里面的关键字替换为对应文字
:%s/+关键字/+替换文字 将每行里第一次匹配到的关键字替换为对应文字
:%s/+关键字/+替换文字/+g 将所有的关键字替换为对应文字
: r+文件目录 将已经存在的文件内容合并到当前文件内光标所在的下一行
:sp+文件目录 将文件分屏展示
:close 关闭分屏展示
:!+命令 在当前目录下执行该命令,并展示结果
可以通过复制etc下的vimrc文件到用户根目录设置为隐藏文件(显式文件不可以)修改其配置,使打开文件时默认操作
man+命令 查看命令的帮助文档
命令+ --help 查看简要的帮助文档
apropos+命令关键字 查找相关的命令
grep+(-E)+关键字+文件目录 输出包含有关键字的文件内容,关键字高亮显示
grep+ -n+关键字+文件目录 显示该内容在文件中的行号同时输出包含有关键字的文件内容,关键字高亮显示
grep+ -i+关键字+文件目录 忽略大小写查找包含有关键字的文件内容,关键字高亮显示,关键字中有空格需要用“”包起来表示一个整体
grep+ -v+关键字+文件目录 不输出包含有关键字的文件内容
grep+ -r+关键字+文件夹目录 递归查找包含有关键字的文件内容同时输出文件所在目录
使用正则表达式
grep+ -E+^关键字+文件目录 查找以关键字开头的文件内容
grep+ -E+关键字[范围]+文件目录 查找关键字后紧跟范围内的内容的文件内容
sort+文件目录 对文件进行排序
sort+ -o+目标文件+源文件 将源文件进行排序后的内容复制到目标文件,因为直接排序不会修改文件内容
sort+ -r+文件目录 反向排序
sort+ -R+文件目录 随机排序
sort+ -n+文件目录 根据数字大小进行排序,默认的是根据字符串排序
wc+文件目录 行数 单词数(以空格隔开)字节数
uniq+文件目录 去重
cut+ -c+范围+文件目录 剪切范围内的字符
创建一个csv文件
cut+ -d+分隔符+ -f+数字(要取到的部分)+文件目录 根据指定分隔符切割字符串并获取指定部分(从1开始)
cut+ -d+分隔符+ -f+数字,数字2…+文件目录 获取到多个部分
cut+ -d+分隔符+ -f+数字 -+文件目录 获取到从数字开始之后的所有部分(包括当前数字)
用单输出重定向符号(>)将获取到的部分保存到指定文件中,在每次重定向时会覆盖已有内容
将结果输出重定向到未知里
双输出重定向符号(>>)会将内容插入文件末尾不覆盖原有内容
输入和输出
stdin:当通过键盘向控制台输入参数时 0(描述符)
stdout:控制台输出的正确内容 1
stderr:控制台输出的错误内容 2
输出重定向默认会将标准的结果保存在文件中,错误的不可以
用描述符表示错误信息,遇到错误信息会输出重定向到指定文件
将错误的内容输出重定向到标准的文件中
向文件中追加内容
双输入重定向符号(<<)可以通过键盘向控制台输入内容,需要指定停止符号
输入和输出重定向搭配
管道(|)将前面命令的结果当做后面的输入使用
进程查看
w 查看有哪些用户登录
ps -ef 列出所有的进程
PID 当前进程
PPID 当前进程由哪个进程创建出来的
top 动态输出进程,q键退出
kill+进程ID 结束指定进程
kil+ -参数+PID 强制结束指定进程
find+目录+ -name+“文件名” 查询文件目录
当命令一直在控制台输出结果时无法输入其他命令
find+目录+ -name+“文件名” +>+文件目录+& 在后台运行后将内容输出到重定向文件内,当命令结束执行时,进程也会被结束,获取到的内容不完全
& 会将该命令做后台进程处理
nohup+find+目录+ -name+“文件名”+& 使得掉线时该进程还能继续执行,控制台可以输入其他命令
jobs 查看进程状态
at+时间 输入要执行的命令 在指定时间执行该命令,ctrl+d退出
月/日/年 指定日期
tomorrow 明天执行
at+now+数字+ minutes 当前时间后几分钟执行
atq 输出还没有执行的任务
atrm+任务编号 删除该任务
sleep+数字+(单位)默认是秒,休眠
;用来分隔命令
等待5秒中后两条命令执行完毕
;按先后顺序分别执行命令,当遇到错误的命令输出错误
&& 当前面的命令错误后面的命令就不再执行
|| 当前面的命令正确就不再执行后面的命令
周期性执行命令
minute hour day month week command
- minute:表示分钟,可以是从0到59之间的任何整数。
- hour:表示小时,可以是从0到23之间的任何整数。
- day:表示日期,可以是从1到31之间的任何整数。
- month:表示月份,可以是从1到12之间的任何整数。
- week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
- command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
crontab -e 编辑时间和命令
crontab -l 查看等待执行的任务
crontab -r 删除所有任务