linux基础和帮助
- echo
- 命令扩展行:$()或` `
- # echo $USER
- # root
- # echo “i am `whoami`”
- # i am root
- 括号扩展:{ }
- # echo file{1,3,5}
- # file1 file3 file5
- # rm -f file{1,3,5}
- # echo {1..10}
- # 1 2 3 4 5 6 7 8 9 10
- # echo {0..10..2}
- # 0 2 4 6 8 10 12 14 16 18 20
- # echo {a..z}
- # a b c d e f g h i j k l m n o p q r s t u v w x y z
- tab键 双击补全
- 路径补全
- 命令补全:
- command 2tab 子命令或文件补全
- string 2tab 以string开头的命令
- / 2tab 显示所有根目录下一级目录,包括隐藏目录
- ./ 2tab 当前目录下子目录,包括隐藏目录
- * 2tab 当前目录下子目录,不包括隐藏目录
- ~ 2tab 所有用户列表
- $ 2tab 所有变量
- @ 2tab /etc/hosts记录 (centos 7 不支持)
- =2 tab 相当于ls -A (centos 7 不支持)
- 命令行历史
- 登陆shell时,会读取命令历史文件中记录子啊的命令~/.bash_history
- 登陆shell后新执行的命令会记录在缓存中;这些命令会在用户退出时追加只历史文件中
- 命令history
- history 显示历史命令
- 重复前一个命令:向上的方向键 page up
- history -c 空历史命令
- history -d n 删除历史命令中第 n 个命令
- history n 显示最近n条历史
- 命令历史相关的环境变量
- HISTSIZE 命令历史记录的条数
- HISTFILE 指定历史文件,默认为 ~/.bash_history
- bash 的快捷键
- crtl + l 清屏,相当于clear命令
- crtl + o 执行当前命令,并重复显示本命令
- crtl + q 允许屏幕输出
- alt + r 删除当前行
- whatis 显示命令的简短描述,使用数据库,刚安装后不可立即使用
- makewahtis | mandb 制作数据库
- # whatis cal
- # man -f cal
- 命令帮助
- 内部命令:help cmd
- man bash
- 外部命令:
- cmd –help 显示用法总结和参数列表
- cmd -h
- 使用手册(manual):man cmd
- man 章节
- 用户命令
- 系统调用
- C库调用
- 设备文件及特殊文件
- 配置文件格式
- 游戏
- 杂项
- 管理类的命令
- linux 内核API
- man 帮助 man cmd
- man [章节] keyword 查看man手册
- man -a keyword 列出所有帮助
- man -k keyword 列出所有匹配的页面;使用wahtis 数据库
- man -f keyword 相当于whatis
- man -w [章节] keyword 打印 man 帮助文件路径
- q 退出
- / keyword 搜索关键字
- man 章节
- 信息页,导航info页
- info cmd
- q 退出
- s keyword 或者 / 搜索关键字
- 内部命令:help cmd
文件管理
- 文件系统与目录结构
- 文件和目录被组织成一个单根倒置树结构,从根目录下开始,用 ” / “表示
- 文件系统
- 文件名称区分大小写(/ 和 null 不能作文件名),文件名最长255个字节,路径最长4095个字节,以 . 开头的为隐藏文件,路径分隔符 /
- 文件数据分为:
- 元数据:metadata
- 数据:data
- 蓝色–> 目录;绿色–> 可执行文件;红色–> 压缩文件;浅蓝色–> 链接文件;灰色–>其他文件
- 文件系统结构
- /boot 引导文件存放目录
- /bin 基本命令
- /sbin 管理类的基本命令
- /lib 启动时程序依赖的基本共享库以及内核模块文件
- /lib64 专用于x86_64系统上的辅助共享库文件存放位置
- /etc 配置文件目录
- /hone/username 普通用户家目录
- /root 管理员的家目录
- /media 便携式移动设备挂载点
- /mnt 临时文件系统挂载点
- /dev 设备文件及特殊文件存储位置
- /opt 第三方应用程序的安装位置
- /srv 系统上运行的服务用到的数据
- tmp 临时文件存储位置
- usr universal shared,read-only data 共享只读数据
- bin;sbin;lib;lib64;include;share
- local 第三方应用程序的安装位置
- bin,sbin,lib,lib64,etc,share
- /var variable data files 可变数据文件
- cache;lib;local;lock;opt;run;spool;
- log 日志目录及文件
- tmp 保存系统两次重启之间产生的临时数据
- /proc 用于输出内核与进程信息相关的虚拟文件系统
- /sys 用于输出当前系统上硬件设备相关的信息虚拟文件系统
- /selinux secuirty enchanced Linux
- linux 下的文件类型
- – 普通文件
- d 目录问价
- b 块设备
- c 字符设备
- l 符号链接文件
- p 管道文件pipe
- s 套接字文件socket
- pwd current work directory 显示当前工作目录
- -P 显示真实物理路径
- -L 显示链接路径 默认
- 绝对路径:以正斜杠开始,完整的文件的路径
- cd ../ 当前工作目录的父目录,上一级目录
- 基名 basename 目录名 dirname
- cd 更改目录 -P -L
- cd /home/wang
- cd /home/wang/
- cd .. 切换至父目录
- cd 切换至当前用户的主目录
- cd – 切换至以前的工作目录
- 环境变量:PWD 当前目录路径 OLDPWD 上一次目录路径
- ls 列出当前目录的内容或指定目录
- ls -a 包括隐藏文件
- ls -l 显示额外的信息,相当于 ll
- ls -R 目录递归通过
- ls -ld 目录和符号链接信息
- ls -1 文件分行显示
- ls -S 从大到小排序
- ls -t 按mtime排序
- ls -u 配合 -t 选项,显示并按atime从新到旧排序
- ls -U 按目录存放顺序排序
- ls -X 按文件名后缀排序
- stat 查看文件状态;包含文件的:metadata,data
- 文件的三个时间戳:
- access time 访问时间,atime 读取文件的内容
- modify time 修改时间,mtime 改变文件内容、数据
- change time 改变时间,ctime 元数据发生改变
- 文件的三个时间戳:
- 文件通配符
- * 匹配零个或多个字符
- ?匹配任何单个字符
- ~ 当前用户家目录
- ~ mage 用户mage家目录
- ~ + 当前工作目录
- ~ – 前一个工作目录
- [0-9] 匹配数字范围
- [a-z] 小写字母 [A-Z] 大写字母
- [abcdefg] 匹配列表中的任何的一个字符
- [^abcdefg] 排除列表中的任何的一个字符,其他都匹配
- [:digit:] 任意数字,相当于0-9 ;man 7 glob
- [:lower:] 任意小写字母
- [:upper:] 任意大写字母
- [:alpha:] 任意大小字母
- [:alnum:] 任意数字或字母
- [:blank:] 水平空白字符
- [:space:] 水平或垂直空白字符
- touch 创建空文件和刷新时间 ( > f1 也可以创建f1 空文件;cat > f1创建非空文件f1)
- touch -a 仅改变atime和ctime
- touch -m 仅改变mtime和ctime
- touch -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
- touch -c 如果文件不存在,则不予创建
- cp 复制
- cp /文件a /文件b
- 文件b不存在;复制文件a(一个文件)并命名为文件b
- 文件b存在且为文件;复制文件a(一个文件)覆盖文件b并命名为文件b
- 文件b存在且为目录;复制文件a(一个文件)到目录b下
- 文件b不存在;提示错误
- 文件b存在且为文件;提示错误
- 文件b存在且为目录;复制文件a(多个文件)到目录b下
- 文件b不存在;复制文件a(目录)并命名为目录b
- 文件b存在且为文件;提示错误
- 文件b存在且为目录;复制文件a(目录)到目录b下
- cp /文件a /文件b
-
-
- cp -i 覆盖前提示 cp -n 不准覆盖
- cp -r -R 递归复制目录及内部的所有内容
- cp -a 归档,相当于 -dR –preserv=all 保留所有信息
- cp –preserv mode权限 owership属组 .timestamp links xattr context all
- cp -d –no-dereference –preserv=links 不复制原文件,只复制链接名
- cp -p 等同 –preserv=mode owership timestamp
- cp -v –verbose
- cp -f –force
- cp -u –update 只复制源比目标更新文件或目标不存在的文件
- cp –backup=numbered 目标存在,覆盖前先备份加数字后缀
- mv 移动和重命名文件
- mv -i 询问,交互式 定义别名 alias mv=’mv -i’
- mv -f 强制
- rm 删除
- rm -i 询问,交互式 定义别名 alias rm=’rm -i’
- rm -f 强制删除 “rm -rf / 强制删除根”
- rm -r 递归删除 –no-preserve-root 删除/
- tree 显示目录树,目录结构
- 安装:rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
- tree -d 只显示目录
- tree -L level 指定显示的层级数目录
- tree -P pattern 只显示由指定pattern匹配到的路径
- mkdir 创建目录
- mkdir -p 存在于不报错,且可自动创建所需的各级目录
- mkdir -v 显示详细信息
- rm -r 递归删除目录树
- inode(index node) 索引节点 表中包含文件系统所有文件列表
- 一个索引节点是在一个表项,包含有关文件的信息(元数据),包括:文件类型,权限,UID,GID,链接数(指向这个文件名路径名称个数),改文件大小和不同的时间戳,指向磁盘上文件的数据块指针,其他文件数据
-
-
-
- 目录,文件引用一个是inode号,人是通过文件名来引用一个文件,一个目录是目录下的文件名和文件inode号之间的映射
- 硬链接
- 创建硬链接会增加额外的记录项以引用文件
- 对应于同一文件系统上一个物理文件
- 每个目录引用相同的inonde号
- 创建时链接数递增
- 删除文件时:rm 命令递减计数的链接;文件要存在,至少有一个链接数;当链接数为零时,改文件被删除
- 不能跨越驱动器或分区
- 语法:ln filename [linkname]
- ln /root/f1 /ln/root/f2
- 符号链接,软连接
- 一个符号链接指向另一个文件
- ls -l 显示链接的名称和引用的文件
- 一个符号链接的内容是它引用文件的名称
- 可以对目录进行,也可以跨分区
- 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用数
- 语法:ln -s filename [linkname]
- file 检查文件的类型
- file [option] filename…
- file -b 列出文件辨识结果时,不显示文件名称
- file -f filelist 列出文件filelist 中文件名的文件类型
- file -F 使用指定分隔符号替换输出文件名默认的”:”分隔符
- file -L 查看对应软链接对应文件的文件类型
-
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95449