echo :显示一行文本
1.echo
常用选项:
-n :输出但不换行
-e :使“\”引导的转移序列生效
\n:换行
\t:水平制表符(相当于TAB键)
printf:输出数据(功能类似于echo -e)
---------------------------------------------------------------------------------------
2.mkdir 创建新目录
-p,--parents:在创建目录的时候,如果其父目录不存在,则优先创建之;
-v,--verbose:为每个被创建的目录显示一条信息
3.rm 删除文件或命令
-f,--force:暴力删除
-r,-R,--recursive:递归删除目录以及目录中的内容
4.ls
ls - 列表目录的内容
注意:目录的内容是文件名
-a,--all:显示所有文件包括隐藏文件;
-A,--almost all,显示除了“.”和“..”之外的所有文件,包括隐藏文件
--color【=when】:以不同的颜色表示不同的结果
-d,显示目录本身,而不是目录中的文件名字
-h,--human-readable:在显示文件的大小的时候,显示为更加易读的格式;通常与-l选项一起使用
-l,使用长列表格式显示文件的详细属性;
5.cd
切换工作目录:
cd:将工作目录切换至当前登录用户的家目录,相当于cd ~;
cd -:将工作目录切换至此前最后一次的工作目录
6.pwd
查看当前目录
接下来我们以这次课作业为例
---------------------------------------------------------------------------------------
通过man获得帮助,创建目录(如有精力,可以尝试只使用一次mkdir命令解决此问题)
(1)在/mnt下创建boot和sysroot;
(2)在/mnt/boot下创建grub;
(
3)在/mnt/sysroot下创建proc, sys, bin, sbin, lib, usr, var, etc, dev, home, root, tmp a)在/mnt/sysroot/usr下创建bin, sbin, lib b)在/mnt/sysroot/lib下创建modules c)在/mnt/sysroot/var下创建run, log, lock d)在/mnt/sysroot/etc下创建init.d 可以逐级创建然后使用cd切换目录继续创建
也可以使用 -p命令,递归创建
---------------------------------------------------------------------------------------
[root@localhost ~]# mkdir -pv /mnt/{boot/grub,sysroot/{sys,bin,sbin,lib/modules,usr/{bin,sbin,lib},var/{run,log,lock},etc/init.d,dev,home,root,tmp}} mkdir: 已创建目录 "/mnt/boot/grub" mkdir: 已创建目录 "/mnt/sysroot/sys" mkdir: 已创建目录 "/mnt/sysroot/bin" mkdir: 已创建目录 "/mnt/sysroot/sbin" mkdir: 已创建目录 "/mnt/sysroot/lib" mkdir: 已创建目录 "/mnt/sysroot/lib/modules" mkdir: 已创建目录 "/mnt/sysroot/usr" mkdir: 已创建目录 "/mnt/sysroot/usr/bin" mkdir: 已创建目录 "/mnt/sysroot/usr/sbin" mkdir: 已创建目录 "/mnt/sysroot/usr/lib" mkdir: 已创建目录 "/mnt/sysroot/var" mkdir: 已创建目录 "/mnt/sysroot/var/run" mkdir: 已创建目录 "/mnt/sysroot/var/log" mkdir: 已创建目录 "/mnt/sysroot/var/lock" mkdir: 已创建目录 "/mnt/sysroot/etc" mkdir: 已创建目录 "/mnt/sysroot/etc/init.d" mkdir: 已创建目录 "/mnt/sysroot/dev"
mkdir: 已创建目录 "/mnt/sysroot/home" mkdir: 已创建目录 "/mnt/sysroot/root" mkdir: 已创建目录 "/mnt/sysroot/tmp"
注意:递归创建同级目录,需要用 { } 扩住,并且各目录用 ","隔开
rm 只有在加了 -r才可以对目录进行删除
7.touch
change file timestamps(修改文件的时间戳)
常用选项有
-c:no create(不创建任何文件)
-a:仅修改文件的访问时间戳
-m:仅修改文件的修改时间戳
-t STAMP:使用指定的STAMP替换文件的时间戳
STAMP的格式为:[[CC]YY]MMDDhhmm[.SS]
额外的,如果没有指定-c选项,touch命令可以创建出被指定为参数且不存在的文件;
8.stat
display file or file system status 显示文件或文件系统的状态
格式:stat[OPTION]...FILE...
常用选项:
-c,--format=FORMAT:以指定的格式显示文件的指定状态属性;
[root@localhost ~]# stat a.txt 文件:"a.txt" 大小:0 块:0 IO 块:4096 普通空文件 设备:fd00h/64768dInode:67156633 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:admin_home_t:s0 最近访问:2017-08-08 10:22:33.000000000 +0800 最近更改:2017-10-20 18:00:39.348831751 +0800 最近改动:2017-10-20 18:03:13.391825144 +0800 创建时间:- [root@localhost ~]# touch -mt 02152010.20 a.txt [root@localhost ~]# stat a.txt 文件:"a.txt" 大小:0 块:0 IO 块:4096 普通空文件 设备:fd00h/64768dInode:67156633 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:admin_home_t:s0 最近访问:2017-08-08 10:22:33.000000000 +0800 最近更改:2017-02-15 20:10:20.000000000 +0800 最近改动:2017-10-20 18:04:09.133822753 +0800
9.nano
Nano's ANOther editor, an enhanced free Pico clone
格式:nano [OPTIONS] [[+LINE,COLUMN] FILE]...
^:脱字符:表示键盘上的Ctrl按键
^+o:保存文档内容;
^+x:退出编辑界面;
相应的:nano也具有创建文本的功能
10.cat
concatenate files and print on the standard output 连接文件并在标准输出显示
格式:cat[OPTION]...[FILE]...
常用选项:
-b:对非空白行进行编号输出
-n:对所有行进行编号输出
-s:把多个空白行合成一行
-E:--show--end在行尾以$字符显示
11.tac
注意:cat或tac如果没有给出参数,则所有的内容需要通过标准输入(从键盘键入)完成。
完成:可以使用^+c或者^+d退出即可
12.head:
output the first part of files,输出文件的起始部分
格式:head[OPTION]...[FILE]...
常用选项:
-c:--bytes=[-]k 以字节为单位显示相应长度的内容
-n:--lines=[-]k 以行为单位显示相应长度的内容
可以使用-#方式替换 -n #
注意:如果不使用任何信息,则默认显示文件内容的前10行,若文件中不足10行,则显示全部内容。
13.tail
output the last part of files 输出文件的最终部分
格式:tail[OPTION]...[FILE]...
常用选项:
-c:--bytes=[-]k 以字节为单位显示相应长度的内容
-n:--lines=[-]k 以行为单位显示相应长度的内容
-f:--follow[={name|descriptor}] 监控文件尾部的变化情况
[root@localhost ~]# nano a.txt [root@localhost ~]# nano b.txt [root@localhost ~]# cat a.txt b.txt 1111 22 3 345 sdsadadsa wewew ewew t e t w dsd [root@localhost ~]# cat -b a.txt b.txt 1 1111 2 3 22 4 3 5 6 345 7 sdsadadsa 8 wewew 9 ewew 10 t 11 e 12 t 13 w 14 15 16 dsd [root@localhost ~]# cat -n a.txt b.txt 1 1111 2 3 22 4 3 5 6 7 345 8 9 sdsadadsa 10 wewew 11 12 13 ewew 14 15 t 16 17 18 19 20 e 21 22 23 24 25 26 t 27 28 29 w 30 31 32 33 dsd 34 [root@localhost ~]# cat -ns a.txt b.txt 1 1111 2 3 22 4 3 5 6 7 345 8 9 sdsadadsa 10 wewew 11 12 ewew 13 14 t 15 16 e 17 18 t 19 20 w 21 22 23 24 dsd 25
[root@localhost ~]# head -c 10 a.txt 1111 [root@localhost ~]# head a.txt 1111 22 3 345 [root@localhost ~]# head -n 10 a.txt 1111 22 3 345
14.more
file perusal filter for crt viewing 分页显示文档的内容,过滤
格式:more[OPTION]file...
交互式编辑方法:
可以使用"/"或者"?"根据后续给出的字符串组合进行查找过滤
可以使用"N"或"n"找到下一个匹配项
使用"q"命令可以退出more命令
使用Enter键可以向下翻一行
使用Space键可以向下翻一页
15.less
opposite of more more的精简版
格式:less[OPTION]file...
交互式编辑方法:
可以使用"/"或者"?"根据后续给出的字符串组合进行查找过滤
可以使用"N"或"n"找到下一个匹配项
使用"q"命令可以退出less命令
使用Enter键可以向下翻一行
使用Space键可以向下翻一页
[root@localhost ~]# cat b.txt sdsadadsa wewew ewew t e t w dsd [root@localhost ~]# more b.txt sdsadadsa wewew ewew t e /w ...跳过 w dsd -------------------------------------------------------------------------------------
more:会搜索从当前开始后面内容符合条件的文本
less:则从全局搜索并且标记
16.date
操作系统时间,简称系统时间,使用软件模式的时钟记录的时间
打印记录或设置系统日期或时间
常用选项:
-s:--set=STRING:设置系统时间
格式:1)MMDDHHmm[CCYY].[ss]
2)"CCYY-MM-DD HH:mm:ss"
3)"CCYY/MM/DD HH:mm:ss"
FORMAT
%F:表示完整的年月日格式,即YY-mm-dd
%T:表示完整的时分秒格式,即HH:MM:SS
%Y:表示完整月份
%m:表示月份
%d:表示日期
%H:表示小时
%M:表示分钟
%S:表示秒钟
%s:时间戳,1970年1月1日00:00:00到当前系统时间所经历的秒数
注意:1970年1月1日是Unix元年
此时间戳是由32位二进制表示的,所以最大范围0—4294967295
17.clock/hwclock
格式:hwclock[function][option...]
常用选项:
-s:--hctosys:根据硬件时钟设置系统时钟
-w:--systohc:根据系统时钟设置硬件时钟(不推荐)
18.cal
显示一个日历
[root@localhost ~]# date -s "2017/10/20 18:36" 2017年 10月 20日 星期五 18:36:00 CST
[root@localhost ~]# clock -s [root@localhost ~]# date 2017年 10月 20日 星期五 18:41:19 CST
[root@localhost ~]# cal 十月 2017 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
19.cp
copy files and directories
格式:cp[OPTION]...[-T] SOURCE DEST;单源复制
cp[OPTION]...SOURCE...DIRECTORY;多源复制
注意:
1):cp命令至少要俩个参数
2):最后一个参数通常是此次复制的目标
3):如果在复制时,给出的目标是目录
常用选项:
-r,-R:递归复制目录
-d,复制的源文件是符号链接文件时,可以保留该符号链接文件作为此次的源文件被复制,
而不会复制复制该符号链接文件所指向的那个文件。
-p,复制的源文件中的权限位、所有权及时间戳属性会保留下来
-a,相当于-pdr的组合
-f,如果目标文件以存在,则将其强制替换且不提示,想要使该选项生效,则在执行cp命
令时,需要在前加上"\",即\cp Source_file Destination_file
20.mv
移动
格式:cp[OPTION]...[-T] SOURCE DEST;单源移动
cp[OPTION]...SOURCE...DIRECTORY;多源移动
常用选项:
-f,移动文件并且强制覆盖目标位置的同名文件,且不提示
-n,移动文件时,若原文件与目标位置的文件重名则不移动
[root@localhost ~]# cp a.txt b.txt cp:是否覆盖"b.txt"? y [root@localhost ~]# cat b.txt 1111 22 3 345
[root@localhost ~]# stat /bot/ww/cc 文件:"/bot/ww/cc" 大小:6 块:0 IO 块:4096 目录 设备:fd00h/64768d Inode:2447086 硬链接:2 权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:default_t:s0 最近访问:2017-10-20 18:50:12.768977021 +0800 最近更改:2017-10-20 18:48:53.141980436 +0800 最近改动:2017-10-20 18:48:53.141980436 +0800 创建时间:- [root@localhost ~]# stat /mnt/boot/grub 文件:"/mnt/boot/grub" 大小:16 块:0 IO 块:4096 目录 设备:fd00h/64768d Inode:33555306 硬链接:3 权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:default_t:s0 最近访问:2017-10-20 17:45:33.594870598 +0800 最近更改:2017-10-20 18:50:12.768977021 +0800 最近改动:2017-10-20 18:50:12.768977021 +0800 创建时间:- [root@localhost ~]# cp -p /mnt/boot/grub /bot/ww/cc cp: 略过目录"/mnt/boot/grub" [root@localhost ~]# cp -pr /mnt/boot/grub /bot/ww/cc [root@localhost ~]# stat /mnt/boot/grub 文件:"/mnt/boot/grub" 大小:16 块:0 IO 块:4096 目录 设备:fd00h/64768d Inode:33555306 硬链接:3 权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:default_t:s0 最近访问:2017-10-20 18:53:37.380968245 +0800 最近更改:2017-10-20 18:50:12.768977021 +0800 最近改动:2017-10-20 18:50:12.768977021 +0800