#:系统管理员
$:普通用户
./ :当前目录
查看目录内容
ls
文件名以.开头的就是隐藏文件,需要用-a参数才能显示( ls -a)
常用选项
-a -l -h
-a 显示指定目录下所有目录于文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l使用,人性化显示文件的大小
ls配合通配符使用
* 代表任意个数个字符
?代表任意一个字符,至少一个
[] 表示可以匹配字符组中的任意一个
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的任意一个
切换目录
cd
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd - 可以在最近两次目录之间来回切换
相对路径 路径不以/或者~开头;
绝对路径 路径以/或者~开头。
~是当前用户主目录
/是根目录
cd 切换目录命令示例:
// 显示当前目录
例:cd
// 进入父目录
例:cd …
// 进入上次d盘所在的目录(或在直接输入:d:)
例:cd /d d:
// 进入d盘根目录
例:cd /d d:\
// 显示上次d盘所在的目录
例:cd d:
// 进入d:\src目录
例:cd /d d:\src
显示当前所在目录
pwd
创建和删除操作
touch 创建文件
mkdir 创建文件夹
rm 删除文件 及 文件夹
touch
如果不存在则创建,存在则修改末次修改日期
touch 文件名 创建文件 touch test.txt
mkdir
-p 可以递归创建目录
例如:创建a下个有个b下有个c
mkdir -p a/b/c
直接使用 mkdir a/b/c 是不可以创建的。
在Linux中,文件名和文件夹名不能同时存在(一个文件叫123,在创建一个123的文件夹是不性的)
rm
删除要小心,删除后是不能恢复的。
-f 强制删除,有则删除,没有也不会报错(提示)。
-r 可以删除目录,以及递归删除目录下的所有文件
rm -r * 删除当前目录下的所有文件(删库跑路)
rmdir 目录名 删除空目录
rm 删除文件或目录 rm -rf (-r表示递归 -f表示强制) 慎用
快速删除
rm -rf ./*.txt 快速删除当前目录下所有的.txt 文件
拷贝和移动文件
tree 以树形图列出文件目录结构
cp 复制文件及目录
mv 移动文件或者目录/文件或目录重命名
tree [目录名]
不加目录名即当前目录树形结构显示(包括文件和文件夹)
-d 只显示目录(文件就不显示出来了)
cp 源文件 目标文件
-i 如果复制的文件已经存在,则在命令窗口有提示。
-r 复制整个文件夹(默认cp是不能复制文件夹的)
cp 拷贝文件 cp old.txt /tmp/new.txt 如果拷贝目录需要加 -r
mv 源文件 目标文件
-i 覆盖提示
mv 重命名或移动文件或目录 mv old.txt new.txt
mv 需要两个参数,第一个是要移动或修改的源文件,第二个是目标(移动或修改后的)文件,如果第二个参数是个目录就是移动,如果第二个参数是文件名就是重命名(目录是源目录则是直接重命名,如果是新目录则是移动并重命名
查看文件内容
cat 文件名
more 文件名
grep 搜索文本文件名
cat
有查看文件、创建文件、合并文件、追加文件内容等功能
-b 对非空输出行编号
-n 对输出的所有行编号
more
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
r 前滚一屏
q 退出
grep 索索
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
grep -n a 123.txt
模式查找
^a 行首,搜索以a开头的行
例:grep ^a 123.txt
ke$ 行尾,搜索以ke结束的行
例:grep ke$ 123.txt
文件修改
vi
vi有三种模式
命令行模式、文本输入模式、末行模式。
默认 i esc
vi打开一个文本默认是命令行模式,
按i进入文本输入模式,输入完成后,
按esc进入命令行模式,
输入(冒号):进入末行模式,例如:wq保存并退出。 :q!表示不保存强制退出。
命令模式:
yy 然后按p就会复制一行,一直按p一直复制(光标在哪一行复制哪一行)
n 加行号,直接跳转到指定行号
dd 删除当前行
gg 跳转到文本第一行
G 跳转到文本最后一行
u 撤销
ctrl+r 反撤销
编辑模式:
i a o 进入输入模式
i 在当前光标处,进入编辑模式
a 在光标后一格,进入编辑模式
o 在当前光标下一行,进入编辑模式
末行模式:
显示行号 set number
取消行号 set nonumber
查看文件
cat
tail -f 可查看日志(动态输入的文件,可以试试刷新查看)
more 查看文件时,可以翻页查看,过程中按q直接退出
nl 从最后一行开始展示
-ba 表示不论是否有空行,也同样列出行号;
-bt 如果有空行,空行那一行不列出行号。 (默认使用)
搜索文件
vim 进入到文本的命令模式
/内容 例如:/socre 搜索内容 查到的内容就会高亮显示,如果找到多个内容按n进入下一个匹配的内容。
:noh 屏蔽高亮 在vim末行模式下
:n,$s/旧内容/系内容/g n表示从哪一行开始;$s中的s表示最后一行;g表示全局查找,找到的全替换。 :1,$s/linux/windows/g 从第一行开始到最后一行,讲文中所有的linux替换成windows。
查找
Find
find 查找文件或目录 find /home -name "text.txt" 表示查找home目录下text.txt文件
其他
echo 文本内容
重定向 >和 >>
管道 |
echo Hellow > b.txt
通过echo可以直接创建文件并且将输入内容写入文件中。
echo 回显 echo ok 会显示ok,输入什么打印什么。
重定向 > 和 >>
将终端显示的内容输出或追加到指定文件中,(配合echo使用)将终端显示的内容输出或追加到指定文件中,(配合echo使用)
> 表示输出,会覆盖原有文件的内容
>> 表示追加,会将内容追加到已有文件的末尾
echo ok > test.txt 表示追加并覆盖的意思
echo ok >> text.txt 表示向text.txt文件追加ok字符,不覆盖源文件里的内容。
管道|
一个命令的输出可以通过管道作为另一个命令的输入
例:
ls -lha ~ | grep pro
把ls命令输出的内容 给到 grep 检索 包含pro的内容
常用管道的命令有:
more:分屏显示
grep:在执行命令基础上查询指定文本
type 查看类型
安装插件包(命令)
apt-get ubuntu (管家命令)
yum centOS (管家命令)
install 插件包名
yum install chajianname
ifconfig 网络命令 查看ip
clear 清理当前命令窗口
ll 查看当前文件夹下左右子文件和文件信息。
文件的压缩和解压缩
tar命令
linux压缩包的后缀(tar.gz)
tar [选项]
选项:
-c 创建一个打包文件
-x 解开一个打包文件
-z 使用gzip压缩文件
-j 使用bzip2压缩文件
-v 压缩过程显示
-f 使用文档名
压缩命令
tar -zcf 压缩包名.tar.gz 要压缩的文件
tar -zcf demo.tar.gz a.txt b.txt c.txt
解压命令
tar -zxf 解压包名.tar.gz
tar -zxf demo.tar.gz
tar -zxvf demo.tar.gz 显示加压进度
针对zip的命令
安装unzip命令
yum -y install zip
yum -y install unzip
zip压缩命令
zip 压缩包名.zip 要压缩的文件
zip demo2.zip a.txt b.txt c.txt
zip解压命令
unzip 压缩包名.zip
unzip demo2.zip
用户组
su root 切换成root用户,拥有最高权限
su 跟用户名 切换用户
从root切换到其他用户不需要密码,但是从其他用户切换到root需要密码。
Useradd 创建用户 useradd wugk
userdel 删除用户
groupadd 创建组 groupadd work1
groupdel 删除组