linux常用命令
ls命令
作用:
显示目录中的文件
常用选项:
-a
展现所有文件(包括隐藏文件)
-l
长格式显示(展现相关属性)
-h
将文件大小重新计算单位
-i
查看节点号
实机运行:
#########################################################################################
# root@tedu:/home/tarena/study# ls -ilha #
# 总用量 22M #
# 9708100 drwxrwxr-x 4 tarena tarena 4.0K 11月 21 15:16 . #
# 9063803 drwxr-xr-x 38 tarena tarena 4.0K 11月 21 14:50 .. #
# 10228446 drwxr-xr-x 2 root root 4.0K 11月 21 15:18 123 #
# 9708102 drwxrwxr-x 3 tarena tarena 4.0K 11月 20 20:18 linux #
# 9708107 -rw-rw-r-- 1 tarena tarena 23 11月 21 14:40 password.txt #
# 9708108 -rwxrw-rw- 1 tarena tarena 22M 11月 21 14:42 Python-3.6.3.tgz #
#########################################################################################
结果内容代表含义:
##############################################################
以#9708102 drwxrwxr-x 3 tarena tarena 4.0K 11月 20 20:18 linux#为例
##############################################################
9708102
该文件的节点号
drwxrwxr-x:
第1位:
代表文件类型
-代表文件
d代表文件夹
l代表软连接
c:代表字符设备文件(character)
b:代表块设备文件(block)
第2~4位:
代表所有者用户(user)
第5~7位:
代表所属组用户(group)
第7~9位:
代表其他用户(other)
每个用户组字母的含义:
r:读取(read)
w:覆写(write)
x:执行(execute)
3:
引用的软连接个数,文件夹默认引用.和..的软连接,所以空文件夹默认为2。
tarena:
文件的所有者,一般为创建用户。
tarena:
用户所属组。
4.0K
文件大小,在不使用-h选项的时候,默认单位为字节。
11月 20 20:18
文件最后一次修改时间
linux
文件名
mkdir命令
作用:
创建文件夹
常用选项:
-p
递归创建,可以在不存在的路径中创建
实机运行:
root@tedu:/home/tarena/study/123/test# mkdir -p 1/2/3/4/5/6 7/8/9/0 a b c "e s s"
root@tedu:/home/tarena/study/123/test# tree
.
├── 1
│ └── 2
│ └── 3
│ └── 4
│ └── 5
│ └── 6
├── 7
│ └── 8
│ └── 9
│ └── 0
├── a
├── b
├── c
└── e s s
在/home/tarena/study/123/test下递归创建文件夹1/2/3/4/5/6、7/8/9/0、a、b、c、e s s,在创建的时候在目录名加上""可以编辑带空格的目录名。
rmdir命令
作用:
删除不包含文件的空目录
cp命令:
作用:
复制文件或文件目录
常用选项:
-a:赋值文件夹的全部内容
-r:复制目录
-p:保留文件属性
写法:
cp 选项 原路径 目标路径
实机运行:
root@tedu:/home/tarena# cp -rp /home/tarena/study/123/test/1/2/3/4/5/112233 /home
mv命令:
作用:
对文件进行剪切或改名操作
写法:
剪切
mv 原路径 目标路径
重命名
mv 文件路径/原文件名 文件路径/新文件名
实机运行:
剪切
root@tedu:/home/tarena# mv /home/tarena/study/123/1.txt /home/1.txt
重命名
root@tedu:/home/tarena# mv /home/tarena/study/123/1.txt /home/tarena/study/123/2.txt
rm命令:
作用:
删除文件
常用选项:
-i:删除前提示是否继续
-f:强制删除
-r:删除目录
实机运行:
root@tedu:/home/tarena/study/123# rm -rf ./test
root@tedu:/home/tarena/study/123# rm -ir ./1
rm:是否进入目录'./1'? y
rm:是否进入目录'./1/2'? y
rm:是否删除普通空文件 './1/2/1'? y
rm:是否删除目录 './1/2'? y
rm:是否删除普通空文件 './1/11'? y
rm:是否删除普通空文件 './1/22'? y
rm:是否删除目录 './1'? y
自杀命令:
root用户输入,rm --no-preserve-root -rf / 或rm -rf/* 所有内容全部删除。
touch命令
作用:
创建空文件
实机运行:
root@tedu:/home/tarena/study# touch 1 "2 3" 4
root@tedu:/home/tarena/study# ls -l
总用量 22156
-rw-r--r-- 1 root root 0 11月 21 16:13 1
drwxr-xr-x 2 root root 4096 11月 21 16:05 123
-rw-r--r-- 1 root root 0 11月 21 16:14 2 3
-rw-r--r-- 1 root root 0 11月 21 16:14 4
drwxrwxr-x 3 tarena tarena 4096 11月 20 20:18 linux
-rw-rw-r-- 1 tarena tarena 23 11月 21 14:40 password.txt
-rwxrw-rw- 1 tarena tarena 22673115 11月 21 14:42 Python-3.6.3.tgz
root@tedu:/home/tarena# touch /home/tarena/study/123/1 2 3 "2"
root@tedu:/home/tarena/study/123# ls -l
总用量 0
-rw-r--r-- 1 root root 0 11月 21 16:17 1
-rw-r--r-- 1 root root 0 11月 21 15:18 123
-rw-r--r-- 1 root root 0 11月 21 16:17 2
-rw-r--r-- 1 root root 0 11月 21 16:17 3
特殊用法
touch *
作用:将文件夹内所有文件刷新修改时间
cat命令
作用:
显示文件内容
常用选项:
-n:显示内容添加行号
实机运行:
root@tedu:/home/tarena/study/123# cat -n 1
1 gfdffgdsfddsfdf
2 dsadasdas
3 dasdsagfdgsgas
4
5 gfdgfdgdfgdfgdfgfdg
6 fgfdgfdsdfds
7
8 asddjsdsdfkjsdfisdf
9 sdfdsfs
10 sddfdsfsdfdsfdsfsdfsdf
11 sdfsdhteefdgdfgew
12 gereergeffeddddddddddddddd
13 sadjdsisoiddfsosdofjsduilsd
14 iksdoifjsooidsjcjisdfdps
15 dodksddfoisdkmfpsdpoksdfikfdijkoijfkdsoifjksdf
16 sdoigfkfogjgkof5657uijhkg[prohh9o!@#$%^&*(
17 fdigfdoghih:wq
18
tac命令
作用:
反向显示文件内容
实机运行:
root@tedu:/home/tarena/study/123# tac 1
fdigfdoghih:wq
sdoigfkfogjgkof5657uijhkg[prohh9o!@#$%^&*(
dodksddfoisdkmfpsdpoksdfikfdijkoijfkdsoifjksdf
iksdoifjsooidsjcjisdfdps
sadjdsisoiddfsosdofjsduilsd
gereergeffeddddddddddddddd
sdfsdhteefdgdfgew
sddfdsfsdfdsfdsfsdfsdf
sdfdsfs
asddjsdsdfkjsdfisdf
fgfdgfdsdfds
gfdgfdgdfgdfgdfgfdg
dasdsagfdgsgas
dsadasdas
gfdffgdsfddsfdf
more命令
作用:
分页显示文件内容(可以显示百分比)
实机运行:
root@tedu:/home/tarena/study/123# more 1
gfdffgdsfddsfdf
dsadasdas
dasdsagfdgsgas
gfdgfdgdfgdfgdfgfdg
fgfdgfdsdfds
asddjsdsdfkjsdfisdf
sdfdsfs
sddfdsfsdfdsfdsfsdfsdf
sdfsdhteefdgdfgew
gereergeffeddddddddddddddd
sadjdsisoiddfsosdofjsduilsd
iksdoifjsooidsjcjisdfdps
dodksddfoisdkmfpsdpoksdfikfdijkoijfkdsoifjksdf
sdoigfkfogjgkof5657uijhkg[prohh9o!@#$%^&*(
fdigfdoghih:wq
fdffgdsfddsfdf
dsadasdas
dasdsagfdgsgas
--更多--(11%)
常用操作:
空格、f:翻页
enter:换行
q:推出
注意不能回翻
less命令:
作用:
分页显示文件内容(可向上翻页)
常用操作:
pageup:向上翻页
上箭头:上翻
下箭头:下翻
/关键字:搜索关键字内容,按n查看下一条
head命令:
作用:
显示文件前n行
常用选项:
-n:定义显示行数
写法:
head -n 2 文件名
默认10行
实机运行:
root@tedu:/home/tarena/study/123# head -n 14 1
gfdffgdsfddsfdf
dsadasdas
tail命令:
作用:
显示文件后n行
常用选项:
-n:定义显示行数
-f:动态显示末尾内容,随文件内容变化而更新
写法:
tail -n 2 文件名
默认10行
ln命令:
作用:
生成链接文件
常用选项:
-s:创建软链接
写法:
ln -s 需要生成链接原文件 生成的链接文件的名称 (不加-s,直接生成硬链接)
详解:
假设创建软连接文件1.soft
root@tedu:/home/tarena/study/123# ln -s 1 ../1.soft
首先,ls -l查询一下源文件的详细信息
root@tedu:~/study/123$ ls -li 1
10228456 -rw-r--r-- 1 root root 3317 11月 21 16:34 1
然后,ls -l查询一下生成的软链接文件的对应信息
root@tedu:/home/tarena/study# ls -il 1.soft
9708112 lrwxrwxrwx 1 root root 1 11月 21 16:55 1.soft -> 1
同理,软链接可以对文件夹使用
root@tedu:/home/tarena/study# ln -s 123 ../123
ls -il查询一下生成的文件夹软链接文件的详细信息,我们可以得知
9066803 lrwxrwxrwx 1 root root 3 11月 21 20:42 123 -> 123
我们可以发现软链接的节点号与原文件不一致,且软连接的文件名有右箭头指向源文件文件名。故由此我们可以总结,软链接类似于Windows的快捷方式,并且目标可以是文件夹,如果源文件被删除,则软连接文件无法打开。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
接下来创建硬链接文件1.hard
root@tedu:/home/tarena/study/123# ln 1 ../1.hard
使用ls -il查询一下生成的硬链接文件的详细信息
root@tedu:/home/tarena/study# ls -il 1.hard
10228456 -rw-r--r-- 2 root root 3317 11月 21 16:34 1.hard
由此我们可以发现,硬链接文件与源文件完全一致,类似于cp -p,但硬链接会同步更新文件,如果源文件删除,硬链接文件依旧可以打开,硬链接的节点号与源文件一致,硬链接可以用作文件的实时备份,但硬链接不可跨分区创建,不可对目录使用。
chmod命令
作用:
改变文件或目录权限
常用选项:
-R:递归修改,可以对目录及目录下所有文件进行相同权限修改
使用方法:
方法1:直接改变
写法:
chmod {[ugao] [=-+] [rwx]} {文件或目录}
含义:
[ugoa]:个用户组
u=user 创建用户
g=group 同组用户
o=other 其他用户
a=all 所有用户
[+-=]:赋值操作
+ 增加权限
- 去掉权限
= 直接定义
[rwx]:权限
r=read 读取
w=write 覆写
x=execute 执行
实机运行:
root@tedu:/home/tarena/study# chmod a=rwx ./text
root@tedu:/home/tarena/study# ls -l text
-rwxrwxrwx 1 root root 0 11月 21 20:51 text
方法2:使用数字表达权限
写法: chmod [745] [文件或目录]
含义:
[745]:代表不同的权限,每个权限对应的数字不相同,
r=4
w=2
x=1
故,745=rwxr--r-x
实机运行:
root@tedu:/home/tarena/study# chmod -R 777 ./yy
root@tedu:/home/tarena/study# ls -l yy
总用量 4
-rwxrwxrwx 1 root root 0 11月 21 21:07 test
drwxrwxrwx 3 root root 4096 11月 21 21:07 zz
解释:
rwx对于文件与文件夹所代表的不同操作
文件
r:cat/more/less/head/tail
w:vim
x:script/command
文件夹
r:ls
w:touch/mkdir/rmdir/rm
x:cd
find命令
作用:
在特定范围内对匹配某个条件的文件进行搜索
写法:
find [搜索范围] [匹配条件]
含义:
[搜索范围]:以某个目录开始为搜索范围进行搜索,全盘搜索直接填/
[匹配条件]:按照某种条件进行搜索,
-name:名称搜索,区分大小写
-iname:名称搜索,不区分大小写
通配符
*:代表不限位数的模糊查询
?:代表若干位数的模糊查询
实机运行:
root@tedu:/home/tarena/study# find /home/tarena/study -name "*1*"
/home/tarena/study/1.hard
/home/tarena/study/linux/002/001.study
/home/tarena/study/linux/002/1
/home/tarena/study/1.soft
/home/tarena/study/1
/home/tarena/study/123
/home/tarena/study/123/1
/home/tarena/study/123/123
root@tedu:/home/tarena/study# find /home/tarena/study -name "??1*"
/home/tarena/study/linux/002/001.study
root@tedu:/home/tarena/study# find /home/tarena/study -iname "??1??TUD*"
/home/tarena/study/linux/002/001.study
-size:大小搜索
含义:
依照的单位为数据块,linux中一个数据块的大小是512字节也就是0.5kb。
例如,如果需要查询一个100M的文件,则需要换算为102400kb×2=204800。
关系表达式
+n:大于
-n:小于
n:等于
链接选项:
-a:and 且
-o:or 或
实机运行:
-user:按所有者搜索
-amin:按照访问时间搜索
-cmin:按照文件属性的修改时间搜索
-mmin:按照文件内容的修改时间搜索
grep命令:
作用:
查找文件钟的相应的内容,及文本信息
写法:
grep "内容" [选项] 文件名
常用选项:
-n 显示行号
-r/-R 递归搜索文件夹的文件
实机运行:
tarena@tedu:~/study$ grep "True" -nr ~/study
/home/tarena/study/1.txt:3:while True:
/home/tarena/study/1.txt:7:while True:
/home/tarena/study/1.txt:12:while True:
/home/tarena/study/1.txt:18:while True:
/home/tarena/study/1.txt:23:while True:
/home/tarena/study/1.txt:28:while True:
/home/tarena/study/1.txt:33:while True:
/home/tarena/study/1.txt:38:while True:
/home/tarena/study/1.txt:43:while True:
gzip命令
作用:
用zip压缩算法对文件进行压缩,压缩后生成文件
写法:
gzip 文件名(.gz为用gzip压缩过的文件)
实机运行:
tarena@tedu:~/study/duty$ gzip ./1.txt
tarena@tedu:~/study/duty$ ls -l
总用量 4
-rw-rw-r-- 1 tarena tarena 93 11月 23 14:01 1.txt.gz
说明:
无法对已压缩的文件进行二次压缩,且无法对文件夹进行操作。
gunzip命令
作用:
用gzip压缩过的文件进行解压
写法:
gzip 文件名(.gz为用gzip压缩过的文件)
实机运行:
tarena@tedu:~/study/duty$ gunzip ./1.txt.gz
tarena@tedu:~/study/duty$ ls -l
总用量 4
-rw-rw-r-- 1 tarena tarena 629 11月 23 14:01 1.txt
tar命令:
作用:
对文件或者文件夹进行打包和解包的操作
格式:
tar [选项] [生成的文件名] [文件名或路径(填的是什么就会打包什么)]
常用选项:
-c:创建包
-x:解包
-v:显示操作的文件细节
-z:用gzip和gunzip对包进行压缩或解压缩
-f:文件名 正在操作的文件名
-C:路径 改变解压缩路径(只对解压缩有效)
实机运行:
#将~/study/duty/1.txt打包并压缩为1.txt.tar.gz
tarena@tedu:~/study/duty$ tar -czvf 1.txt.tar.gz ./
./
./1.txt
tar: .: 在我们读入文件时文件发生了变化
tarena@tedu:~/study/duty$ ls -l 1.txt.tar.gz
-rw-rw-r-- 1 tarena tarena 470 11月 23 14:18 1.txt.tar.gz
#再将1.txt.tar.gz于本文件夹内解压
tarena@tedu:~/study/duty$ tar -xzvf 1.txt.tar.gz
./
./1.txt
tarena@tedu:~/study/duty$ ls -l
总用量 8
-rw-rw-r-- 1 tarena tarena 282 11月 23 14:16 1.txt
-rw-rw-r-- 1 tarena tarena 470 11月 23 14:18 1.txt.tar.gz
sudo命令
作用:
用超级用户权限来执行这些命令(sudo可以理解为superdo)
格式:
sudo 命令 [选项] [参数]
常用选项:
-i:切换到root
实机运行:
home mydir1 mydir1.1.tar.gz mydir1.tar.gz
tarena@tedu:~/mydir2$ sudo mkdir ~/mytest
[sudo] tarena 的密码:
tarena@tedu:~/mydir2$ sudo -i
root@tedu:~#
linux主机所有用户信息都储存在/etc/passwd文件下
exit命令
作用:退出用户登陆
vim命令
作用:编辑文档
指令:
i:插入,进入编辑模式
esc:退出编辑模式
冒号:输入指令
:q是没有修改内容时退出,如果有修改内容则会提示保存;
wq是保存并退出
:q!是不管有没有修改内容,都不保存强制退出;