逆水行舟,不进则退;
date命令:
我们可以来man一下date命令,可以在上面看出 date的含义为 - print or set the system date and time,我们从以下几方面对date命令进行阐述。
1. 显示时间
date[OPTION]... [+FORMAT]
format:格式符号
%D:
%F:
%T:
在屏幕中输入单独的date命令可以显示系统的时间:
同时我们也可以显示自己想要的时间显示格式:
2. 设置时间
date[-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
MM:月份
DD:几号
hh:小时
mm:分钟
YY:两位年份
CCYY:四位年份
.ss:秒钟
下面将用实例展示使用date命令修改时间的过程:
Linux两种时钟
系统时钟:由Linux内核通过CPU工作频率进行的计时;
硬件时钟:
hwclock :显示硬件时钟;
-s,--hctosys
-w,--systohc
Cal指令
cal - displays a calendar 显示日历
1.显示日历
cal [-smjy13] [[[day] month] year]
在屏幕中单独输入一个cal指令可显示当前系统时间月份的日历:
同时也可以显示整年和或者任一年任意月份的日历:
目录管理类命令:cd pwd ls mkdir rmdir tree
cd:
cd或cd~;回当前用户的主目录
cd ~username:切换至指定用户的主目录
cd -:在上一个目录和当前目录之间来回切换
相关的环境变量;
PWD:保存了当前目录的路径;
OLDPWD:上一次所在目录的路径;
ls:
显示指定路径下的文件列表;
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: 对显示出的每一行进行编号
tac与cat相反,逆序查看,用法一样;
more命令:
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
#more –d anaconda.ks.cfg
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:如果文件不存,则不予创建;
文件管理类命令:
cp命令:复制
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST (SRC是文件)
如果目标不存在:新建DEST,并将SRC中的内容填充至DEST中;
如果目标存在:
如果目标是文件:将SRC中的内容覆盖至DEST中;此时建议为cp命令使用-i选项;
如果目标是目录:在DEST目录下新建与源文件名同名的文件,并将SRC中内容填充至新文件中;
cp SRC… DEST(SRC…是多个文件)
DEST必须存在,且为目录,其他情形均会出错;
cp SRC DEST(SRC是目录)
此时使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST
如果DEST存在:
如果DEST是文件;报错
如果DEST是目录,复制SRC目录中所有文件至DEST
常用选项:
-i:交互式
-r,-R:递归复制目录及内部所有内容;
-a:归档,(保留文档所有属性)相当于-dR –preserv=all
-d:--no-dereference –preserv=links
--preserv[=ATR_LIST]
mode:权限
ownership:属主属组
timestamp:时间戳;
links
xattr
context
all
-p:--preserv=mode,owership,timestamp
-v:--verbose
-f:--force
mv命令:移动命令
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i:交互式
-f:强制
rm命令:remove,删除
rm: remove,删除
rm[OPTION]... FILE...
常用选项:
-i: 交互式
-f:强制删除
-r:递归
常用组合:rm -rf
文件内容类型查看命令:file
#file /PATH/TO/SOMEWHERE
回显命令:echo
-n:禁止自动添加换行符号;
-e:允许使用转义字符;
\n:换行;
\t:制表;
echo “$VAR_NAME”:变量会替换,双引号表示弱引用;
echo ‘VAR_NAME’:变量不会替换,强引用;
which:显示命令对应的程序文件路径:
which [OPTION] COMMAND
--skip-alias:禁止显示别名
Whatis:
使用mkwhatis命令可将当前系统上的所有帮助手册及与之对应的关键字创建为一个数据库;
mkdir:
mkdir - make directories 创建目录
mkdir [OPTION]... DIRECTORY...
-p:存在时不报错,并且自动创建所需的各目录;
-v:显示详细信息;
-m MODE:创建目录时直接指定权限
tree:
tree - list contents of directories in a tree-like format.显示目录的内容以树的形式
tree [-adfghilnopqrstuvxACDFNS] [-Llevel [-R]] [-H baseHREF] [-T title] [-o filename]
[--nolinks] [-P pattern] [-I pattern][--inodes] [--device] [--noreport] [--dirsfirst]
[--version] [--help] [--filelimit #][directory ...]
-d:只显示目录;
-L:指定显示的层级数目;
-P pattern:只显示由指定pattern匹配到的路径;
rmdir:
rmdir - remove empty directories 移除一个空目录
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
(2) 如何创建x_m,y_m, x_n, y_n
(3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr,/tmp/usr/bin, /tmp/usr/sbin