基础命令:
date:
date [OPTION]... [+FORMAT]:显示
FORMAT: 格式符号
%D
%F
%T
date [MMDDhhmm[[CC]YY][.ss]]:设置
MM: 月分
DD:几号
hh: 小时
mm: 分钟
YY: 两位年份
CCYY: 四位年份
.ss: 秒钟
Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作频率进行的计时;
硬件时钟:
hwclock: 显示硬件时钟
-s, --hctosys
-w, --systohc
cal:日历
目录相关的命令:
当前目录或工作目录
主目录,家目录:HOME
root: /root
普通用户:/home/USERNAME
/home/tom
~:用户的主目录
cd:
cd 或 cd ~: 回当前用户的主目录
cd ~USERNAME: 切换至指定用户的主目录
cd -: 在上一个目录和当前目录之间来回切换
. :当前目录
.. :上一级目录
相关的环境变量:
PWD:保存了当前目录路径;
OLDPWD:上一次所在目录路径;
pwd: 显示当前目录
ls: list
显示指定路径下的文件列表;
ls [OPTION]... [DIR]...
-a, --all: 显示所有文件,包括隐藏文件;
-l: 长格式
-rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log
-rw-r--r--:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数字:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
44800:文件的size
Aug 14 14:32 : 文件的最近一次被修改的时间
install.log: 文件名
-h, --human-readable:单位换算
-d: 显示目录自身的相关属性;通常要与-l一起使用;
-r, --reverse: 逆序显示
-R, --recursive: 递归
stat /PATH/TO/SOMEFILE:获取指定文件的元数据
文件查看命令:cat, tac
cat [OPTION]... [FILE]...
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
文件内容类型查看命令:file
file /PATH/TO/SOMEWHERE
回显命令:echo
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
\n: 换行
\t: 制表符
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo '$VAR_NAME': 变量不会替换,强引用 写啥回显啥
which:显示命令对应的程序文件路径
which [OPTION] COMMAND
--skip-alias:禁止显示别名
whatis:
使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库;
系统管理类命令:
关机:
halt, poweroff, shutdown, init 0
重启:
reboot, shutdown, init 6
跟用户登录相关:
who, whoami, w
关机或重启:
halt, poweroff
reboot
-f: 强制,不调用shutdown
-p: 切断电源
shutdown:
shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:
now: 立刻
+m: 相对时间表示法,从命令提交开始多久之后;例如 +3;
hh:mm: 绝对时间表示,指明具体时间;
用户登录信息查看命令:
whoami: 显示当前登录有效用户;
who: 系统当前所有的登录会话;
w: 系统当前所有的登录会话及所做的操作;
目录管理类命令:
cd, pwd, ls
mkdir, rmdir, tree
mkdir [options] /path/to/somewhere
-p: 存在于不报错,且可自动创建所需的各目录;
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限;
tree:
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径;
rmdir:删除空目录
rmdir [OPTION]... DIRECTORY...
-v: 显示过程;
练习:
(1) 如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b
mkdir /tmp/x/{y1,y2}/{a,b}
(2) 如何创建x_m, y_m, x_n, y_n
mkdir {x,y}_{m,n}
(3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin
mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}
文本文件查看类命令:
cat, tac
more, less, tail, head
more
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
less
less [OPTIONS...] FILE...
head
head [OPTION]... [FILE]...
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#:
tail
tail [OPTION]... [FILE]...
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:
-f: 跟踪显示文件新追加的内容;
文件的时间戳管理工具:
touch
文件:metadata, data
查看文件状态:stat
三个时间戳:
access time:访问时间,简写为atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变
touch命令:
touch [OPTION]... FILE...
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,则不予创建
回顾:
文件系统、bash的基础特性、目录管理及文件查看
文件系统:
boot, bin, sbin, lib, lib64, dev, home, root, mnt, media, etc, proc, sys
usr
var
bash的基础特性:
命令补全
路径补全
命令历史
命令行展开:
~, {}
命令的状态结果
成功:0
失败:1-255
目录管理:mkdir, rmdir
文件查看:more, less, tail, head
时间戳管理:touch
-a, -m, -t
-c
文件管理:
cp, mv, rm
复制命令:cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
如果目录存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项;
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
cp SRC... DEST
SRC...:多个文件
DEST必须存在,且为目录,其它情形均会出错;
cp SRC DEST
SRC是目录:
此时使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
如果DEST存在:
如果DEST是文件:报错
如果DEST是目录:
常用选项:
-i:交互式
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: --preserv=mode,ownership,timestamp
-v: --verbose
-f: --force
mv: move,移动文件
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i: 交互式
-f: 强制
rm: remove,删除
rm [OPTION]... FILE...
常用选项:
-i: 交互式
-f: 强制删除
-r: 递归
rm -rf
文本编辑器:nano
全屏编辑器