基本的bash shell命令
启动shell
大多数Linux默认的shell都为GNU bash shell
/etc/passwd文件包含了所有用户账户列表以及每个用户的基本配置信息。每条目录最后一个字段指明了该用户默认使用的shell程序
bash 手册
man xterm 查看xterm命令手册
man -k 关键字 可以使用关键字搜索手册
man 1 intro (手册分多个部分)只看第一部分
keyword -help 查看帮助
浏览文件系统
- Linux PC上安装的第一块儿硬盘称为根驱动器
- 在根驱动器上创建的一些特别的目录称为挂载点(mount point)。挂载点是虚拟目录中由于分配额外存储设备的目录
常见命令:
cd destination 进入某个目录,可以用绝对路径或者相对路径
pwd 查看当前路径
ls 展示当前路径下的文件和目录。默认按字母排序
ls -F 能够区分出文件或目录。会在目录后加‘/’
ls -a 列出隐藏文件
ls -R 递归列出,将子目录下文件也展示出来
ls -l 显示长列表。[注1]
ls -l *common?[0-9][!a] 过滤输出列表 (*)代表多个字符(?)代表零个或多个字符[0-9]匹配0到9数字[!a]排除不需要的a结尾的
ls -l --time=atime 将默认显示的修改时间改为显示访问时间
ls -d 只列出目录本身信息,不列出其中内容
ls -i 查看文件或目录的inode号,对于同一个对象,inode编号是唯一的,不同对象,inode不同
注1: ls -l中列出的信息为:
- 文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b)
- 文件的权限
- 文件的硬链接总数
- 文件属主的用户名
- 文件属组的组名
- 文件的大小
- 文件的上次修改时间
- 文件名或目录名
处理文件
常见命令:
touch A 如果A不存在则创建,如果A存在则改变A的修改时间
touch -a A 只改变A的访问时间
复制文件
常见命令:
cp source(源对象) destination(目标对象)
cp -i source(源对象) destination(目标对象) 当源对象与目标对象同名时会提示是否覆盖
cp -R 递归复制整个目录的内容
链接文件
链接有两种:
- 符号链接
ln -s 源对象 目标对象 结果为:目标对象->源对象 - 硬链接
ln 源对象 目标对象
符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中的另一个文件。通过符号链接在一起的文件,彼此的内容并不相同。
相当于可以把一个新版本的程序,通过符号链接指向到旧版本的程序,新旧程序内容并不相同。
硬链接创建出独立的虚拟文件,其中包含了原始文件的信息及位置。从根本上来说是一个文件。其中一个文件改变时,另一个文件也跟着改变。
说明:只能对处于同一存储媒体的文件创建硬链接。不同存储媒体之间只能创建符号链接。
另: 不要创建软链接文件的软链接
重命名/移动文件
常见命令:
mv 源对象 目标对象 只影响文件名,不改变inode编号与时间戳
mv -i 源对象 目标对象 覆盖时带有提示
删除文件
常见命令:
rm 对象 直接删除,若有保护文件,会提示
rm -i 删除带有提示信息
rm -f 强制删除,屏蔽掉提示信息
创建目录
常见命令:
mkdir 目录名 创建目录
mkdir -p 目录1/目录2/目录3 根据需要创建父目录,即:递归判断若父目录不存在则创建,若存在则不进行操作
删除目录
常见命令:
rmdir 目录名 只能删除空目录
rm -r 目录名 递归删除当前目录及目录下子文件/目录
查看文件类型
常见命令:
file 文件名
查看整个文件
常见命令:
cat 文件名 显示所有数据
cat -n 文件名 将显示的各行加上行号
cat -b 文件名 只将有文本的行(即非空行)加上行号
cat -T 文件名 屏蔽文件内的制表符。实现原理为用^I替换文本中所有制表符
more 文件名 显示一页数据后等待,是否继续显示或者退出
less 文件名 是more的升级版,拥有more的所有功能,其他功能可通过man less获取
tail 文件名 显示文件最后几行内容
tail -n 100 文件名 显示文件最后100行内容,简写为tail -100 文件名
tail -F 文件名 会保持活动状态,将实时新加入文件中的内容实时显示出来。能够用于实时来监控系统日志
head 文件名 显示文件开头几行内容
head -100 文件名 显示文件开头100行内容
参考文章
Linux Command Line and Shell Scripting Bible
该系列其他文章请查看:
Linux命令行与shell脚本