Linux常用命令(一)
最近看了imooc上tony老师关于shell编程得一些视频,加上从相关书籍上收集整理了一部分linux的常用命令。
一、目录文件处理命令
1.创建目录:
mkdir [-p] 目录名 递归创建目录(-p:可在目录里面创建文件)
2.切换目录:
cd 目录名
cd ~ / cd回到家目录
cd - 回到上次目录
cd ..回到上级目录
cd . 切换当前目录3.显示当前所在目录:
pwd
相对路径:参照当前目录进行查找 cd ../usr/local/src/
绝对路径:从根目录开始一级一级递归查找 cd /etc/4.删除目录:
rmdir 空目录(只能删除空目录)
rm -rf [文件或目录]
参数:
-r:删除目录
-f:强制执行5.复制命令:
cp [选项] [源文件] [目标地址]
选项:
-r 复制目录
-p 连带文件属性辅助
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr6.剪切或改名命令:
mv [源文件或目录] [目标目录]
同目录改名,不同目录剪切7.常见目录的作用:
/:根目录
/bin:系统命令保存目录(/bin和/usr/bin普通用户就可以读取的命令 /sbin和/usr/sbin超级用户才能访问)
/boot:系统启动目录
/lib:系统函数库保存目录
/etc:系统配置文件保存目录
/dev:特殊设备文件保存目录
/usr:系统软件资源存储目录
/mnt /media /misc:系统挂载目录(初始为空,用于外界存储设备的盘符)
/home:普通用户的家
/root:超级用户的家
/tmp:临时目录
/proc /sys:系统内存目录
/var:系统相关文档的目录8.链接命令:
Ln -s [源文件] [目标文件]
功能:生成链接文件
选项:-s 创建软链接
硬链接特征:
a.拥有相同的i节点和block块,可以看做同一个文件
b.可通过i节点识别
c.不能跨分区
d.不可针对目录使用
软链接特征:
a.类似windows的快捷方式
b.独立拥有自己的I节点和Block块,但是数据块中只保存源文件的文件名和I节点号,并没有实际的文件数据
c.3软链接权限都为 lrwxrwxrwx
d.修改任意文件,另一个也改变
e.删除源文件,软链接不能使用
二、文件搜索
1.文件搜索命令:
/etc/updatedb.conf配置文件:
PRUNE_BIND_MOUNTS=”yes”:开启搜索限制
PRUNEFS=():不搜索的文件系统
PRUNENAMES=():不搜索的文件类型
PRUNEPATHS=():不搜索的路径2.文件搜索命令locate(搜索速度快)命令格式:
locate 文件名(在后台数据库中按文件名搜索,按照/etc/updatedb.conf下的规则进行搜索),所操作的数据库为 /var/lib/mlocate
updatedb(更新后台数据库)3.命令搜索命令whereis和which命令格式:
whereis 命令名(只能搜索系统命令,不能搜索用户创建的普通命令,但能显示帮助文档)
选项:
-b:只查看可执行文件
-m:只查找帮助文件
which 命令名(搜索命令所在路径及其别名)
PATH环境变量:定义系统搜索命令的路径(echo $PATH查看)4.文件搜索命令find(最强大的搜索命令,遍历系统的所有路径进行查找):
find [搜索范围] [搜索条件]
避免大范围搜索!find是使用通配符进行完全匹配(搜索条件和结果完全相同)。
Linux中的通配符:
:匹配任意内容 find /root “a*”
[]:匹配任意一个中括号中的字符 find /root -name “ab[cd]”
?:匹配任意一个字符 find /root “ab?”
find [搜索范围] -iname [搜索条件] 不区分大小写
find [搜索范围] -user [搜索条件] 按照所有者
find [搜索范围] -nouser [搜索条件] 查找没有所有者的文件
find /var/log/ -[选项] [时间]
选项:
atime:文件访问时间
ctime:改变文件属性
mtime:修改文件内容
时间:
-10:10天内修改文件
10:10天当天修改文件
+10:10天前修改文件
find . -size 25k/25M 按照文件大小搜索文件
选项:
-25k:小于25KB的文件
25k:等于25KB的文件
+25k:大于25KB的文件
find . -inum [i节点号] 按照i节点号搜索
find [搜索范围] -size +25k -a -size -50k [操作] 查找指定目录下的大于25KB小于50KB的文件
选项:
-a:逻辑与
-o:逻辑或
操作:
-exec -ok 命令 {} \;:对搜索结果执行操作,如: -exec ls -lh {} \;显示查询结果的详细信息- 4.字符串搜索命令grep:
grep [选项] 字符串 文件名(在文件当中匹配符合条件的字符串)
选项:
-v:排除指定字符串
-i:忽略大小写
使用通配符和正则表达式进行包含匹配
三、帮助命令
man:
man 命令:获取指定命令的帮助
man的级别:
1:命令的帮助
2:可被内核调用的函数的帮助
3:函数和函数库的帮助
4:特殊文件的帮助
5:配置文件的帮助
6:游戏的帮助
7:其他选项的帮助
8:系统管理员可用命令的帮助
9:和内核相关文件的帮助
四、压缩与解压
- 1.zip格式:
a. 压缩文件:zip 压缩文件名 源文件
b. 压缩目录:Zip -r 压缩文件名 源文件
c. 解压缩:unzip 压缩文件 - 2.gzip格式:
a.压缩文件:gzip 源文件(源文件会消失,自动生成对应的.gz压缩文件)
b.压缩目录:gzip -r 目录 (压缩目录下的所有子文件,但是不能压缩目录)
c.解压缩:gzip -d 压缩文件
d.解压缩:gunzip 压缩文件(-r 解压目录) - 3.bz2格式(不能压缩目录):
a.压缩文件:bzip2 源文件(不保留源文件)
b.压缩文件:bzip2 -k 源文件 (保留源文件)
c.解压文件:bzip2 -d 压缩文件 (-k保留压缩文件)
d.解压文件:bunzip2 压缩文件(-k保留压缩文件) - 4.tar命令(打包命令):
a.先打包再压缩:
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:指定打包后的文件名
tar -xvf 打包文件名
选项:
-x:解打包
b.打包与压缩一步完成
tar -zcvf 压缩包名.tar.gz 源文件
-z:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
-z:解压缩.tar.gz格式
tar -jcvf 压缩包名.tar.bz2 源文件
-j:压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
-j:解压缩.tar.bz2格式
如果想解压到指定的位置则在后面加上 -C 目标位置
tar -z/jtvf 压缩文件包名(只查看不修改)
五、关机和重启
- 1.shutdown命令:
shutdown -c/h/r 时间
选项:
-c:取消前一个命令
-h:关机
-r:重启
如果需要把命令放于后台不占用当前中断,则在末尾加上&
其他关机命令:
halt
poweroff
init 0(都不太安全) - 2.系统运行级别:
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
init 调用系统的运行级别
查看运行级别 runlevel(X Y:表示从X界面到Y界面,处于Y界面)
cat /etc/inittab(修改系统的默认运行级别) id:3:initdefault: (开机进入那个级别)
六、退出登录
Linux默认允许同时远程登录255个用户
退出登录:logout(释放终端号)
七、挂载命令(分配盘符)
- 1.mount查询系统中已经挂载好的设备:
mount -a依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式(分配盘符):
mount [-t文件系统] [-o特殊选项] 设备文件名 挂载点
选项:
-t文件系统:加入文件系统类型来指定挂载的类型,可以说ext3,ex4,iso9660等文件系统
-o特殊选项:指定挂载的额外选项(例如:remount重新挂载已挂载好的文件系统,一般用于修改权限;exec/noexec 是否允许在文件系统中执行) - 2.挂载光盘:
放入光盘
mkdir /mnt/cdrom/ 建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom/ 挂载光盘
或者mount /dev/sr0 /mnt/cdrom/ 挂载光盘 - 3.卸载光盘:
umount /mnt/cdrom
取出光盘
挂载U盘: - 4.fdisk -l 查看U盘设备的文件名
mount -t vfat /dev/sdb1 /mnt/usb/ (Linux默认不支持NTFS文件系统)
八、查看用户登录信息
- 1.查看用户信息:
w 用户名:
命令输出的结果主要包含以下几项:
USER:登录的用户名
TTY:登录终端
FROM:从哪个IP地址登录
LOGIN@:登录时间
IDLE:用户闲置时间
JCPU:指的是和该终端连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
PCPU:是指当前进程所占用的时间;
WHAT:当前正在运行的命令 - 2.who用户名:
命令输出的结果主要包含以下几项:
用户名
登陆终端
登陆时间(登陆来源IP地址) - 3.last(查询当前登陆和过去登陆的用户信息):
last命令默认是读取/var/log/wtmp文件数据
命令输出的结果主要包含以下几项:
用户名
登陆终端
登陆IP
登陆时间
退出时间(在线时间) - 4.lastlog(查看所有用户最后一次登陆的时间):
lastlog命令默认是读取/var/log/lastlog文件数据
命令输出的结果主要包含:
用户名
登陆终端
登陆IP
最后一次登陆时间
九、echo命令
- 1.打印输入的信息:
echo [-e] “内容[选项]”
开启-e后则可以调整输出的格式
选项:
\b:左删一位
\t:制表(空格)
\n:换行 - 2.当需要修改输出字体的颜色则使用
echo -e “\e[1;颜色参数 内容 \e[0m”
参数:
\e[1;:开启颜色
\e[0m:关闭颜色
30m:黑色 31m:红色 32m:绿色 33m:黄色
34m:蓝色 35m:洋红 36m:青色 37m:白色
十、alias命令
- 1.临时生效:
alias 查看系统所有的命名别名
alias 别名=’原命令’设定别名 - 2.永久生效:
vi ~/.bashrc 写入环境变量配置文件 ~代表家目录 - 3.删除别名:
unalias 别名
命令生效路径:
1:执行用绝对或相对路径执行的命令
2:执行别名
3:执行bash内部命令
4:查找环境变量