SHELL
- linux系统中运行的一种特殊程序
- 在用户和内核之间充当“翻译官”
- 用户登录linux系统时,自动加载一个shell程序
- bash是CentOS系统中默认使用的shell程序
- 文件位于/bin/bash
Linux 命令行的格式
- 通用的命令行使用格式
- 命令字 [选项] [参数]
- 命令字
- 是整条命令中最关键的一部分
- 唯一确定一条命令
- Linux命令环境中严格区分大小写
- 选项
- 短格式选项: 短格式选项:使用“-”符号引导
- 长格式选项:使用“–”符号引导
- 参数
- 命令字的处理对象
- 可以是文件名、目录(路径)名或用户名等内容
- 个数可以是零到多个
获得命令帮助
-
使用help命令 /查看内部命令
-
使用 " --help" 选项/查看外部命令
-
-
使用man手册页信息最全 内外命令都可以看
-
man vim
-
-
使用type 查看命令是内部还是外部命令
- type pwd
- type pwd
编辑Linux命令行
tab 补全命令
反斜杠 "\" 单纯的换行
crtl + z 挂起当前运行,暂停放在后台.
ctrl + c 结束当前操作
ctrl + a 回到命令行首
ctrl + u 清除光标到行首的字符
ctrl + y 拷贝当前命令行所有内容
pwd 命令
显示用户当前所在的工作目录位置
cd 命令
cd 模板位置
cd . 当前目录下
cd .. 上级目录
cd - 切换到上一次执行cd命令之前所在的目录
将用户的工作目录更改到其它位置
绝对路径: 最准确,但麻烦. 路径以 "/" 开始
相对路径: 简单方便,路径不以 "/" 开始
ls 命令
ls -a 列出目录下一切文件,包含影藏文件
ls -l 列出文件的具体信息
ls -s在每个文件名后输出该文件的详细信息
ls -lh 以可读的方式显示当前目录中的文件和目录大小
ls -R 递归显示当前目录中的所有文件和子目录
ls -t 安装修改的时间排序显示当前目录中的文件和目录
du 命令
统计指定目录(或文件)所占用磁盘空间的大小
du [参数] [文件或目录]
du -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
du -h 显示出目录或文件的大小(K、M),默认的大小单位为千字节(KB)
du -s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
alias 命令
alias 命令别名=命令
设置myls 为ls -alh的别名
alias myls=‘ls – alh’
top 进程管理命令
各进程(任务)的状态监控属性解释说明:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
locate 命令
locate 查找文件比find 要快
locate /etc/m //在etc/下查找以m开头的文件
locate php.ini //查找php.ini
mkdir 命令
创建新的空目录
mkdir [选项] 目录位置及名称
mkdir -p /home/{A,B}/abc
以上命令为在home下创建A,B两个文件夹及在其中创建abc文件夹
touch 命令
touch 文件
更新文件的时间标记
经常用于创建多个新的空文件
touch a b c d.txt
ln 命令
为文件或目录建立链接文件
文件类型
软链接 ln [-s]
硬链接 ln
ln [-s] 源文件或目录… 链接文件或目标位置
ln -s /bin/bzip2 /bin/wx/
注意:在链接时,要使用绝对路径
软链接 | 硬链接 | |
---|---|---|
删除原始文件后 | 失效 | 仍旧可用 |
使用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统(如一个Linux分区)内 |
CP 命令
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项]… 源文件或目录… 目标文件或目录…
cp -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
cp -i 覆盖目标同名文件或目录时提醒用户确认
cp -p 复制时保持源文件的权限、属主及时间标记等属性不变
cp -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
注意:
复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
# cp /etc/passwd{,.back} 括号中的逗号表示空格,逗号的前面为空,表示只有passwd这个值
等同于# cp /etc/passwd /etc/passwd.back
# cp passwd{.back,} //还原备份的数据
rm命令
删除指定的文件或目录
rm [选项] 要删除的文件或目录
cp -f 删除目标同名文件或目录时不进行提醒,直接强制删除
cp -i 删除目标同名文件或目录时提醒用户确认
cp -r 删除目录时必须使用此选项,表示删除所有文件及子目录
rm -rf 命令强制删除包括目录 不提醒
mv命令
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项] … 源文件或目录… 目标文件或目录
例如:
mv /root/abc /home
mv abc 123 //同目录下,重命名
which命令
搜索范围由环境变量 PATH 决定
which 命令|程序名
which -a 命令|程序名
例子: which vim
find命令
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
-name 按名称查找
-size 安装文件大小查找
-user 按文件所属用户查找
-type 按照文件类型查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
各表达式之间使用逻辑运算符
“-a”表示 而且(and)
“-o”表示 或者(or)
将查到的数据删除的四种方法:
# find / -type f -a -name "abc*" -delete
# find / -type f -a -name "abc*" -exec rm -rf {} \;
# find / -maxdepth 2 -type f -name "abc*" | xargs rm -rf
# rm -rf $(find / -maxdepth 2 -type f -name "abc*")
- maxdepth 2 //该选项表示在指定的目录中再指定几层进行查找
xargs //将查询到的多行内容,放在一行进行显示,原来的每行中间以空格隔开
也可以同时查询多个文件并查看这些文件中的内容:
# find / -maxdepth 2 -type f -name "abc*" | xargs cat
将查询到的多个文件的详细信息显示出来:
# find / -name "abc*" | xargs ls -lh
将查到的数据复制到/tmp目录中的三种方法:
# find / -type f -a -name "abc*" -exec cp -rf {} /tmp \;
# find / -maxdepth 2 -name "abc*" | xargs cp -rf -t back
# find / -maxdepth 2 -name "abc*" | xargs -i cp -rf {} back //-i的作用表示将查询到的数据一行一行地赋值给{}
将查到的多个数据文件通过tar打包备份:
# tar zcf abc.tar.gz `find / -maxdepth 2 -name "abc*" -a -type f | xargs`
# find / -maxdepth 2 -name "abc*" -a -type f | xargs tar zcf abc.tar.gz
按照权限查询文件:
# chmod 777 /root/abc
# find / -type f -a -name "abc*" -a -perm 777
修改时间信息 mtime
访问时间信息 atime
改变时间信息 ctime
# find /abc -type f -mtime +7 --- 7天以前修改过的文件
# find /abc -type f -mtime -7 --- 最近7天修改过的文件
# find /abc -type f -mtime 7 --- 正好前面第7天修改过的文件
7 /root/abc
find / -type f -a -name "abc*" -a -perm 777
修改时间信息 mtime
访问时间信息 atime
改变时间信息 ctime
find /abc -type f -mtime +7 --- 7天以前修改过的文件
find /abc -type f -mtime -7 --- 最近7天修改过的文件
find /abc -type f -mtime 7 --- 正好前面第7天修改过的文件