常用命令
1.cd 切换文件夹
cd+目录名 进入指定目录中
cd ~ 回到家目录,~当前用户家目录
cd 也是回到家目录
cd .. 回到当前目录的上一级目录
cd . 进入当前目录(一般不用,一般.与复制移动联合使用)
cd - 进入上一次所在的目录
2.ls 查看目录内容
ls -l 显示详细列表
ls -lh 把文件大小以人性化的方式显示(h有human的意思)
ls -a 显示所有的文件,包含隐藏文件,隐藏文件是以.开头的文件(a是all的意思)
ll 等同于ls - l
3.mkdir 创建文件夹
mkdir picture 在当前目录下创建文件夹(注:前面没有根目录/的都是相对路径)
mkdir /home/admin/picture 以绝对路径创建文件夹
mkdir /home/admin/a/picture -p 如果上级目录不存在,比如文件夹a不存在,加-p表示自动创建父目录
mkdir a b 在当前目录下创建多个文件夹
mkdir a/{c,d} 在指定文件夹下创建多个文件夹
mkdir .abc 以.开头是创建隐藏文件夹
4.touch 创建空文件
touch abc.txt 在当前目录下创建空文件(如果指定了目录,必须保证上级目录存在)
touch .abc 创建隐藏文件
gedit abc.txt 使用记事本打开文件(这个指令相比于touch更常用,因为touch创建的是空文件,还需要使用gedit打开文件)
5.rm 删除文件
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * -r (*表示所有文件,但是不能删除隐藏文件)
小技巧:如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl + c
6.ls权限
drwxrwxr_x d代表文件夹,-代表文件
rwxrwxr_x r代表可读,w可写,x执行
第一组指文件的拥有者权限,第二组代表文件拥有的组的权限,第三组代表其他用户权限
ls 查看其他目录的内容 如ls+根目录(绝对路径),ls+目录(相对路径)
ls *.txt 查看当前目录下的所有以txt结尾的文件
7.cp 拷贝文件
cp 1.txt 2.txt 拷贝文件,将1.txt的内容拷贝给2.txt
cp abc abc-bak -r 拷贝文件夹(注:总结可以发现,涉及到文件夹的操作,后面一般都带-r)
8.mv 移动(相当于剪切,重命名)
mv 1.txt 2.txt 重命名(同一目录下,跟cp的区别在于cp完,文件不会消失,而mv则是删除1.txt)
mv 1.txt ~ 移动到指定目录,相当于剪切 (不同目录下)
mv 4.txt /home/admin/4.txt-bak 4.txt-bak不存在的话,相当于给你改名,存在的话,直接覆盖
9.> 重定向
ls > 1.txt 把命令返回的结果输出到1.txt文件中去,意思就是ls查看当前目录里有什么内容,将内容写到1.txt中去,会覆盖之前的内容
ls >> 1.txt 跟上面的命令作用一样,区别在于不会覆盖内容,而是在之前的内容下面追加
10.cat 查看文件内容
cat 1.txt 把文件内容全部显示在屏幕上
cat 1.txt 2.txt 显示多个文件
cat 1.txt 2.txt > 3.txt 把多个文件的内容合并到新的文件中去
more 查看文件内容,可以分页显示 用法:比如ls />>1.txt more 1.txt 查看内容多的文件,按空格键往下翻页,按b按键往回翻页,按q键退出
11. 管道 |
ls -l / |more 把左边的命令返回的结果交给右边的命令进行处理
总结 :处理文件夹时,rm -r cp -r mkdir -p, history 查看历史命令
12.chmod
chmod(更改模式)允许您更改文件的权限。只有 root、文件所有者或具有sudo权限的用户才能更改文件的权限。
引用用于区分权限适用的用户:
u(owner) : 文件的所有者。
g(group):属于文件组成员的用户。
o(others):既不是文件所有者也不是文件组成员的用户。
a(all) : 以上三个(同ugo)。
运算符用于指定应如何调整文件的模式:
+将指定的模式添加到指定的类。
-从指定的类中删除指定的模式。
=指定的模式将成为指定类的确切模式。
模式指示要从指定的类中授予或删除哪些权限:
r 读取文件。
w 写入或删除文件。
x 执行文件或在目录的情况下,搜索它。
例如,在以下命令中,将为所有三个级别添加读取权限:用户、组和其他。
chmoda+rwebsite-logo.jpg
删除所有用户的执行权限:
chmoda-xwebsite-logo.jpg
删除除文件所有者之外的所有用户的读、写和执行权限:
chmodog-rwxwebsite-logo.jpg
如果您希望文件的所有者具有读写权限而组和其他用户仅具有读取权限:
chmodu=rw,go=rwebsite-logo.jpg
使用=运算符意味着我们清除所有现有权限,然后设置指定的权限。
您可以使用以下命令为所有人添加执行权限:
chmoda+xwebsite-logo.jpg
要递归操作给定目录下的所有文件和目录,请使用chmod 带有-R(recursive) 选项的 命令 。
例如,在以下命令中,用户可以读取、写入和执行。组成员和其他用户可以读取和执行,但不能写入。这适用于目录下的所有文件和子目录 /tmp/test 。
chmod-Ru=rwx,go=rx/tmp/test
13.ln 链接(有两种,分为软链接,硬链接)
软链接 软链接本身不存储内容,只记录源文件的名称
ln -s 1.txt 1_link 给1.txt创建一个软链接,相当于window中的快捷方式
ln -s 1.txt ~/1_link 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的,正确的格式如下:ln -s /home/admin/1.txt ~/1_link(当然除了给文件创建软链接,也可以给文件夹创建软链接)
硬链接 本身占空间,相当于把源文件复制一份,与源文件同步变化,删除硬链接文件不影响文件,不能给目录创建硬链接
使用ll查看时,有一个数字,代表有几个文件能同步发生变化
格式: ln 1.txt 1_hard_link 、
14.grep 查找文件内容
grep hello test.txt 在某个文件中查找hello的内容,只要一行中有hello,会把整行显示
grep -niv hello test.txt n显示查找的行号,i查找时不区分大小写,v反向查找,查找不包含hello的行
grep -n hello /home/admin -r 查找整个目录中的所有文件,包含hello内容(window系统就做不到这点)
15.find 查找文件(上面grep是查找文件内容)
find /home -name 1.txt 在/home目录下查找文件名为1.txt的文件
find /home -name ‘*.txt’ 在/home目录下查找以txt结尾的文件
16.tar 归档(打包)
打包
tar cvf a.tar 1.txt 2.txt f必须放在最后面,f后面的第一个参数代表要生成的文件名,后面所有的参数代表要打包的文件
列出包里面的文件
tar tf a.tar
解包
tar xvf a.tar 如果没写目录,表示把包里面的文件解开放到当前目录
tar xvf a.tar -C tar 解包到指定文件夹,文件夹需提前创建好(tar是文件夹)
压缩
1、打包
tar cf a.tar * 将当前目录下的所有文件生成a.tar文件
2、压缩
gzip -r a.tar 生成 a.tar.gz文件
3、解压
gzip -d a.tar.gz 生成a.tar文件
4、解包
tar xf a.tar-C ~/atar 解包到指定的文件夹atar下
总结:上面就是一整套流程,先打包,压缩,然后再解压,解包。
17.gzip(解压缩命令)
1、一步到位 打包并且压缩
tar czf b.tar.gz *txt 注意这里相比上面的打包多了一个z,也就是gzip的意思,该命令指的是以gzip的方式打包并且压缩
2、一步到位 解压并且解包
tar xzf b.tar.gz -C btar 以gzip的方式解压并且解包
补充:常用的解压缩命令还有bzip2、zip
18.bzip2命令
tar cjf j.tar.bz2 *txt 注意后缀是bz2
tar xjf j.tar.bz2 -C jtar (与上面gzip的区别是z换成了j)
19.zip命令
zip -r zz *txt zz代表要生成的压缩文件,不需要写扩展名,会自动生成zip扩展名
uzip -d zz zz.zip 解压会自动创建目录
总结:压缩率: zip < gzip < bzip2
通用性: zip > gizp > bzip2 gzip用的最多
20.vi 作用:编辑器
目标:打开,编辑文件,保存。
#使用vi 编辑/oldboy/oldboy.txt文件 写入内容 oldboyedu.com
#第一个里程碑- vi /oldboy/oldbo.txt
#第二里程碑-编辑
##按i进入编辑模式
屏幕下面提示-- INSERT -- 编辑模式
##就可以修改文件
#第三个里程碑-保存退出
##按ESC 退出编辑模式 屏幕下面-- INSERT --标记就没了
##保存与退出
:wq wriet(保存) quit(退出)
:q 直接退出
:q! 强制退出
#企业使用建议:编辑文件同时也可以创建文件