基本命令

ls 列出全部文件

ls [参数] [路径]

ls -a 列出全部文件,包括隐藏路径,文件中以.开头的都是隐藏文件

ls -l 以列表形式详细展示文件信息

也可以缩写成ls -al 以列表显示所有文件

ls -lh 以列表详细展示文件信息并以简单方式展示文件大小(h必须搭配l使用,ls -alh与上一条同理)

cd路径切换/pwd展示当前路径

(cd参数可选,若留空则为用户路径)

cd /home/nebula 切换至nebula用户文件夹

pwd直接使用

相对路径与绝对路径

相对路径直接输入,无需以/开头,绝对路径以/(根)开头

特殊路径符

.表示当前目录,./home表示切换到当前路径下的home文件夹内

..表示上一级目录,如cd ../..表示切换到上两级目录

~表示home目录,如cd ~/nebula表示切换到home文件夹下的nebula文件夹

mkdir创建文件夹

mkdir [-p] 路径,-p可选,表示自动创建不存在的父目录

mkdir -p ~/home/nebula/test,一次性创建多个文件夹链

touch文件创建

touch test.txt创建文件

使用ls -l后,开头为d的为文件夹,开头为-的为文件

cat查看文件内容

cat test.txt查看文件

more以翻页形式查看文件内容

more test.txt查看文件

空格翻页,q退出编辑器

cp复制文件

cp [-r] 源文件路径 复制路径,若复制的是文件夹,需要加入-r

cp test.txt ~/nebula/testnew.txt,将test文件复制到nebula文件夹下并重命名

mv移动文件

mv 源文件路径 复制路径

mv test.txt ~/nebula/testnew.txt,将test文件复制到nebula文件夹下并重命名

rm删除文件

‘rm [-r -f] 参数1 参数2 .. 参数n’,-r为删除文件夹,-f为强制删除文件(忽略提示),参数可以给多个文件路径

支持通配符,*表示任意内容,*test表示以test结尾,test*表示以test开头,*test*表示包含test

which指令文件查找

which cd查询cd命令源文件的文件路径,which只能查找命令文件

find文件查找

按名称搜索

find 起始路径 -name "文件名"(加上双引号可以精确匹配,否则可能导致shell解释导致文件搜索不准确)

find / -name "test",从根目录开始搜索test文件

通配符也一样适用

按文件大小搜索

find 起始路径 -size [+ -] [大小(KMG)]

find / -size +10G查询大于10G的文件

grep从文件中按照关键字过滤行

grep [-n] "关键字" 文件路径,-n表示是否显示过滤出来的行号,文件路径若留空可作为管道输入入口

grep -n "nebula" test.txt,查询test中带有nebula的行,并显示行号

wc数量统计

wc [-c -m -l -w] 文件路径,-c统计bytes数量,-m统计字符数量,-l统计行数,-w 统计单词数量,若什么都不加则依次显示行数,单词数,字节数,文件名,文件路径若留空可作为管道输入入口

|管道符,将|左侧命令的结果作为右侧命令的输入

cat text | grep -n nebula,将text文件的内容输入至grep命令的参数中并查找带有nebula的行以及行号

cat text | wc -l,将text文件的内容输入至wc命令中并返回统计行数

ls | grep -n test,查看目录中带有test的行以及行号

echo在命令行输出指定内容

echo "输出内容"

echo "nebula yahooo"输出nebula yahooo

`(反引号)包裹命令执行

echo pwd输出字符串pwd

echo `pwd` 输出当前文件路径

>>>重定向符

> 将左侧命令的结果覆盖写入到右侧指定的文件中

>> 将左侧命令的结果追加写入到右侧指定的文件中

ls -alh > text.txt 将文件夹内的文件信息写入到text.txt中

tail 查看文件尾部内容,跟踪文件最新更改

tail [-f -num] 文件路径 -f 表示持续跟踪,ctrl +c停止跟踪,-num表示查看尾部多少行,不填默认10行

tail -f -15 text.txt 持续跟踪text.txt后十五行的变化

VI\VIM编辑器

三种基本工作模式

命令模式:所有按键理解为命令,不能进行文本编辑,默认是命令模式

输入模式:允许自由编辑

底线命令模式:以:开始,用于文件的保存退出

命令模式

vi 文件路径

vim 文件路径

文件不存在会用于创建并编辑新文件,文件存在则直接编辑文件

模式命令描述
命令模式i在当前光标位置之前进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式o在当前光标位置下一行进入输入模式
命令模式I在当前行开头进入输入模式
命令模式A在当前行结尾进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式esc回到命令模式
命令模式上下左右方向键移动光标
命令模式0光标所在行开头
命令模式$光标所在行结尾
命令模式pageup/pagedown翻页
命令模式/搜索
命令模式n/N向下/向上搜索
命令模式(n)dd删除所在行
命令模式(n)yy复制当前行
命令模式p粘贴复制的内容
命令模式u撤销

编辑命令模式

输入:进入底线命令模式,输入esc回到命令模式

底线命令模式

输入:进入

模式命令描述
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式

用户权限

su/exit切换用户

su [-] [用户名],[-]表示是否加载用户环境变量,用户名默认root

切换用户后,可以使用exit切换到上一个用户

sudo以root用户执行命令

sudu 命令

为用户配置sudo认证:切换到root用户,执行visudo,配置如nebula ALL=(ALL) NOPASSWD:ALL字样,其中NOPASSWD:ALL表示使用sudo命令无需密码

用户/用户组

groupadd 用户组名,创建用户组

groupdel 用户组名,删除用户组

useradd [-g -d] 用户名创建用户,-g指定用户组,不指定则自动创建同名组加入,-d指定HOME目录,不指定默认在home文件夹下

userdel [-r] 用户名,删除用户,-r删除用户HOME目录

id [用户名],查看用户,默认当前用户

usermod -aG 用户组 用户名,将指定的用户加入到指定的用户组

getent passwd,查看当前系统有那些用户

getent group,查看当前系统有那些用户组

权限控制

权限格式:[-/d/l]文件类型[r/- w/- x/-]用户权限[r/- w/- x/-]用户组权限[r/- w/- x/-]其他用户权限

-表示文件,d表示文件夹,l表示软连接,r表示可读,w表示可写,x表示可运行

chmod [-R] 权限 文件或文件夹,修跟权限信息,-R表示是否对文件夹内的全部内容应用同样的操作,如chmod u=rwx,g=rx,o-x test.txt

chown [-R] [用户][:][用户组] 文件或文件夹,-R表示是否对文件夹内的全部内容应用同样的操作,:用于分隔用户和用户组,如chown :root test.txt将文件修改到root用户组