Linux命令行与shell脚本编程大全笔记(基本的bash shell命令)

/etc/passwd 包含所有系统的用户账户列表以及每个用户的基本配置信息

man (1, 2, 3) 访问存储在Linux上的手册页面
q 退出; 空格 翻页;回车 逐行查看;

大部分命令可以接受 --help命令查看更多的信息

Linux使用正斜线(/)划分目录

pwd 显示当前路径
(.) 表示当前目录 (..)表示上级目录

ls命令输出的列表是按字母排序的(按列排序)
ls -F 可以区分文件和目录(目录后加上/)
ls -a 把所有文件都显示出来(包括隐藏文件等)
ls -FR (R递归选项) 显示当前路径下的所有文件包括目录中的递归展开
ls -l 显示了文件的长列表包含了一些信息(类型,权限,硬链接数,属主用户名,属组组名,大小,上次修改时间,文件名\目录名)
ls -l abc?ef.txt (?)代表一个字符
ls -l abc*.txt (*)代表0个或者多个字符
ls -l abc.[cC] ([]) 表示abc.c或者abc.C
ls -l abc.[a-z] ([-])表示a-z范围内的一个字符
ls -l abc.[!a] ([!]) 表示除了a以外的字符
ls -l --time==atime a.txt 查看文件的访问时间
ls -l --time==ctime a.txt 查看文件的创建时间
ls -Fd 只查看目录本身的信息
ls -i 可以查看文件inode编号

touch a.txt 创建a.txt文件
touch a.txt(a.txt已存在) 改变文件的修改时间
touch -a a.txt 只想改变访问时间,用-a参数

cp a.c b.c 将a.c复制为b.c
cp -i a.c b.c 强制shell询问是否真的拷贝或者覆盖已有文件
cp -R (-R 递归选项) 将一个目录下的所有文件都拷贝一份
cp 支持通配符

tab 制表符自动补全代码

链接(符号链接,硬链接)
采用保存一份物理文件副本和多个虚拟副本的方法
ln -s date_file sl_date_file (符号链接是两个不同的文件,ls -i 可以查看文件inode编号)
ln code_file hl_code_file(硬链接创建的文件和原来的文件是同一个文件)

mv (-i) 移动文件或者目录; 给文件或者目录改名

rm -if 删除一般文件(-f 表示强制)
rm -rf 删除目录及目录中的所有文件
rm 支持通配符, 命令执行后不可逆,删除前(-i)询问是否确定删除
rmdir xxxx 删除空目录

mkdir a_dir 创建名为a_dir的目录
mkdir -p a/b/c/d 可以同时创建多个目录和子目录,若a/b已存在,可以直接创建c/d目录

tree 列出当前目录的目录结构

file a.txt 查看文件类型(也可以查看到链接文件)

cat test1 查看整个文本内容
cat -n test1 查看的时候加上行号
cat -b test1 只给有文本的行加上行号
cat -T test1 会用^I替换所有制表符

more 分页查看工具 q 退出
less (less is more) more的升级版,可以识别上下键和上下翻页键

tail 默认显示文本末尾十行的内容
tail -n 2 a.txt 只显示最后两行的内容
tail -f a.log 可以实时监控a.log的情况
head 默认显示文本开头10行的内容
head -n 2 a.txt 只显示开头两行的内容
tail -2 a.txt head -3 a.txt 都可以直接在破折号后面加上数字
tail head 的更多用法如下:
Linux命令行与shell脚本编程大全笔记(基本的bash shell命令)
head -n k=head -n +k,tail -n k=tail -n -k,可以简单记忆为头正尾负;
无论k前面的符号怎样,tail都是输出尾部内容,head都是输出头部内容的;
特别注意tail -n +k,这里的k表示从第K行开始;(因此上例中,head -n -3输出7行,而tail -n +3输出8行。)原文:https://blog.csdn.net/signjing/article/details/69357769

常见linux目录名称

目录 用途
/bin 二进制目录,许多用户级工具
/boot 存放启动文件
/etc 系统配置文件目录
/home 主目录,Linux在这里创建用户目录
/lib 库目录
/mnt 挂载目录
/proc 进程目录
/root root用户主目录
/tmp 临时目录
/dev 设备目录,Linux在这里创建设备节点