Linux 常用命令
命令格式与目录处理命令ls
命令格式: 命令 [-option] [agreement]
简化选项(一个-调用):-a = --all(完整选项,两个-调用)
目录处理命令:ls(list)
路径:/bin/ls
权限:所有用户
查看隐藏文件:ls -a
(“.”开头的是隐藏文件)
查看根目录: ls /
显示长格式: ls -l
,可简写为ll
显示人性化格式: ls -h(lh/hl)
显示目录信息,而不显示目录下文件的信息:ls -d(ld)
查看文件incode索引节点: ls -i
,相当于文件id
total:总引用量
后6部分:
- 引用计数(4,20,5…)
- chenlong:所有者
- staff:所属组
- 文件大小:默认单位字节
- 文件最后一次修改时间
- 文件名
文件和用户的关系:
User:所有者,只能有一个,可以转变,一般是创建人
Group:所属组,用户的集合
Others:其他人,既不是user也不是group
rwxr-xr-x
文件类型:d:direct,目录;l:link,软连接;-:文件
文件权限:r读/w写/x执行,没有特定权限使用-表示
后9位3位一组,分别表示U,G,O的权限
目录处理命令
mkdir
不要在根目录下随便创建目录
默认下只能在已有目录下创建新目录
递归创建:-p
,建立多级目录
同时创建多个目录:[参数]部分并列写,用空格分开即可
eg:mkdir ./Desktop/Linux/test1 ./Desktop/Linux/test2
cd
切换到指定目录
pwd(print working directory)
显示当前目录
cd …
.表示当前目录,…表示当前目录的上一级目录
rmdir
删除目录,只能删除空目录,哈哈
cp(copy)
cp -rp
[原文件或目录][目标目录]:可以同时复制多个文件,只需要在最后写目标目录
cp -r
复制目录
-p
保留文件属性:可以复制创建时间,如果不加此选项,生成的复制文件以当前时间为准
复制的同时改名:写完目标目录后路径加改后的文件名
cp -r ./Linux/test/makedir ./Linux/test/changename
mv:剪切,move
mv [原文件或目录] [目标目录]
剪切同时改名,如果在同一目录下,即为改名
clear
清屏
rm
只能删除文件
-f
:强制执行
-r
:删除目录
ctrl+c
:终止操作
文件处理命令
touch
创建文件,注意指定路径,如无指定路径,即在当前路径下创建文件
文件名:理论上除了/不能用别的都可以,但是不要随便起。
文件名中包含空格,会创建两个文件(即touch可以创建多个文件)
如果一定要带空格, 用双引号括起来,但是还是别了,所有别的操作都要加引号
后缀名有没有无所谓
cat
查看文件
-n
:浏览同时加行号
长文件:不适合
tac
反向列示,显示内容
more
分页显示文件内容,空格/F翻页,回车下一行,q
退出浏览
less
分页显示文件内容,可向上翻页
pageup/u一页一页向上翻
上箭头一行行翻
浏览状态中输入“/➕关键词
”搜索,按n
(next)找到下一处,可遍历文件
head
显示文件前几行
-n
指定行数,默认为前10行
tail
显示文件后几行
-n
用法与head一样
-f
动态显示文件末尾内容
链接命令
ln
-s
[原文件][目标文件]:创建软连接,后缀名.soft
默认生成硬链接:后缀名.hard
软链接和硬链接的特征
-
软:类似windows快捷方式,所有人都具有同样的操作权限,lrwxrwxrwx
文件很小,只是符号,箭头指向源文件,源文件路径改变/被删除,则找不到
-
硬:cp -p+同步更新,源文件丢失也可以正常访问,通过i节点识别,每个文件都具有i节点,但i节点不一定只对应一个文件,硬链接和源文件具有同样的i节点
-
硬链接的应用场景:实时备份
-
硬链接的局限:不能跨分区,不能针对目录使用,软链接都可
权限管理命令chmod
change the permissions mode of a file
语法:chmod \[{ugoa}{+-=}{rwx}] [文件/目录]
同时赋予多个权限
chmod g+w,o-r 学院管理政策.md
直接等于
chmod g=rwx 学院管理政策.md
用数字管理权限:
-
r =4
-
w=2
-
x=1
-> rwx=7
-> rw-=6
-> r-- =4
写出来数字要能对应权限
e.g: 532 -> r-x-wx-w-
e.g: chmod 640 学院管理政策.md
-R 选项:递归修改,修改目录下的所有文件权限
文件与目录的权限
对于文件:
- r : cat/more/less/head/tail
- w: vim
- x: script command
对于目录:
- r:ls
- w:touch/rm/mkdir/rmdir
- x : cd
对于目录,r和x权限总是同时出现的
对于文件,能够删除这个文件并不等价于对文件本身w权限,而是等价于对于其所在目录有w权限
其他权限管理命令
chown
change file ownership,改变文件所有者
语法:chown \[用户] [文件或目录]
root权限可以随意改变所有者
改变所有者之前确定该用户存在
chgrp
语法:chgrp \[用户组] [文件/目录]
改变文件所属组
umask
-S 以rwx形式显示新建文件缺省权限
功能:显示、设置文件的缺省权限
注意:linux中新建文件没有x权限
umask值:0022
0: 特殊权限
022: — -w-
真正对应的权限应该为其与777的逻辑与(同时具有的权限则失去)
更改默认缺省权限:umask xxx
文件搜索命令find
find
搜索会占用大量服务器资源,尽量少用;搜索范围越小越好,搜索条件越精准越好
windows搜索软件:everything
语法:find \[搜索范围] [选项] [匹配条件]
选项:
-
-name
:精准搜索,只有名字init的文件会被搜索出来find /etc init
*searchname*
:搜索所有包含init的文件
find /etc *init*
Searchname*
:搜索以init开头的文件
find /etc init*
?
表示精确字符:指定有几个字符, 搜索init后面有三个字符的文件
find /etc init???
-
-iname:不严格区分大小写
-
-size:根据文件大小查找,要换算成数据块单位(Linux系统中存储文件的最小单位)
1 数据块 = 512 字节 = 0.5 k
100 MB = 102400 KB = 204800 数据块
find / -size +204800 # 在根目录下搜索大于100 MB的文件
-
-user:根据所有者查找
find /home -user shenchao # 在沈超家目录下查找
-
-group:根据所属组查找
-
-amin:根据访问时间查找 access
-
-cmin:查找属性改变的文件 change
find /etc -cmin -(+=)5 # 在etc目录下查找5分钟内被更改过属性的文件
-
-mmin:查找内容改变的文件 modify
-
-a:and 两个条件同时满足
-
-o:or 两个条件满足一个即可
find /etc -size +163840 -a -size =204800 # 在etc下查找大于80 MB小于100 MB的文件
-
-type: 根据文件类型查找 f文件,d目录,l软连接文件
find /etc -name init* -a -type f
-
对查找到的结果执行操作:
**-exec/ok 命令 {}; ** 表示对搜索结果执行操作
-exec和-ok的区别:-ok会挨个询问每个文件是否要执行操作
find /etc -name init* -a -type f -exec ls -l {};
-
-inum:查找i节点对应的文件,可以用来找硬链接,还有文件名很奇怪的文件
find . -inum 31531 -exec rm {}; # 在当前目录下查找i节点为31531的文件并删除
其他文件搜索命令
locate
秒搜,但是有延迟,需要文件资料库更新
语法:locate 文件名
手动更新文件资料库:updatedb
但是注意文件资料库的收录范围,不在范围里也可能找不到
-i选项:不区分大小写
which
查找命令所在路径,以及别名信息
语法:which 命令
Whereis
搜索命令所在目录及帮助文档路径
语法:whereis 命令
grep
查找文件内容,关键字所在位置
语法:grep [选项] “搜索内容” 文件名
-i 不区分大小写
-v 排除指定字串
-n 输出行号
–color=auto 搜索出的关键字用颜色显示
grep -v ^# /etc/inittab #排除以#为开头的行,可以不查看文件注释
如果不加^,可能会同时排除行中含有#的行内容。
man
语法: man [命令或配置文件]
man ls
/-d #搜索关于-d选项的内容
q #退出
查看配置文件的帮助:存放信息,格式
man services
不需要加绝对路径,就写配置文件的名称即可
man passwd
passwd:同时是一种命令和一种配置文件
用whereis查看会显示两种:man1和man5,1表示命令的帮助,5表示配置文件的帮助
man 5 passwd
whatis
查看命令简短信息
whatis ls
apropos
查看配置文件简短信息,加命令名称(无路径)即可
–help
查看命令选项
语法:命令 --help
touch --help
date
查看/更改系统时间
更改系统时间,格式先用man date查看一下,就不用背了
info
和man差不多
help
查看shell内置命令的帮助信息
shell内置命令:umask, if, case
如果对shell内置命令用which/whereis找不到,会得到shell(bash)的帮助信息
useradd
语法:useradd 用户名
passwd
设置用户密码
passwd 用户名
root可以更改所有用户的密码,还可以更改很简单的密码,但是不要
普通用户可以更改密码,但太简单的不会被系统接受
who
查看登陆用户的信息
- 登录用户名
- 登录终端:tty表示本地终端,pts表示远程终端
- 登录时段
- 登陆机器IP地址,如果没有则为本机
w
查看更详细的登录信息
- 当前系统的时间
- up:Linux已经连续运用的时间(uptime命令也可以查看)
- users:使用过的用户数
- load average:1,5,15min的服务器负载,大于5很大
- IDLE:空闲时间
- PCPU:当前循环中进行中命令对应的进程占用的CPU时间
- JCPU:累计占用的CPU时间
- WHAT:当前用户正在进行什么命令
gzip
语法:gzip [文件]
压缩后文件格式:gz
gunzip/gzip -d
解压缩.gz的压缩文件
gunzip [压缩文件]
-
压缩比可以达到一倍,很惊人
-
只能压缩文件
-
不保留原文件
tar
打包目录
语法:tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名,最后写上.tar(没有也能行,但不好)
-z 打包同时压缩
打包完成之后在gz压缩一下,即.tar.gz,常见于源代码压缩
tar -zcf Jpan.tar.gz Japan #打包的同时压缩(-z表示用gzip压缩)
tar解压缩
-x 解包
其他选项相同
Tar -zxvf Japan.tar.gz
zip
windows和linux都支持,一般linux支持的压缩格式windows都支持
zip [选项] [压缩后文件名] [文件或目录]
-r 压缩目录
压缩后格式 .zip
压缩效果一般
unzip
解压
bzip2
bzip2 选项[-k] [文件]
-k :产生压缩文件后保留原文件
压缩后文件格式:.bz2
tar -jcf Japan.tar.bz2 Jpan #打包的同时用bzip2压缩(-j表示用bzip2压缩)
bunzip2
bunzip2 选项[-k] [压缩文件]
tar -xjf Japan.tar.bz2 #解压tar.bz2压缩的文件
shutdown
语法:shutdown [选项] 时间选项
选项:
-c 取消前一个关机命令
定时关机算错了
-h 关机
shutdown -h now #立即关机
shutdown -h 20:30 #定时关机
-r 重启
shutdown -r now #立即重启
服务器不能关机,只能重启
其他关机命令
halt
poweroff #不要随便用
init 0
其他重启命令
reboot
init 6
系统运行级别
0:关机
1:单用户,启动最核心服务,用于修复,相当于windows安全模式
2:不完全多用户,不含NFS服务(文件传输系统,方便但不安全),也不包含网络服务
3:完全多用户,完全命令行模式,无图形界面
4:未分配
5:图形界面
6:重启
cat /etc/inittab #进程配置文件,修改系统默认运行级别
runlevel #查询系统运行级别
logout
退出登陆