(1) ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
例:ls -ld /root 显示/root自身的信息。
(2) 文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据
-h:做单位转换(文件的大小以人们可读的形式显示)
-a: 显示以.开头的隐藏文件
. 表示当前目录
.. 表示父目录
-A:和-a的区别,只有 . 和 .. 不同。
-d: 显示目录自身属性
-i: index node, inode(显示文件的索引号)
-r: 逆序显示
-R: 递归(recursive)显示
(3) cd: change directory
家目录,主目录, home directory(单独输入cd,进入家目录)
cd ~USERNAME: 进入指定用户的家目录
cd -:在当前目录和前一次所在的目录之间来回切换
(4) 显示当前缓存中的命令(即输入过的命令)
hash
(5) type: 显示命令属于哪种类型(内部命令 or 外部命令)
(6) 获得命令的使用帮助:
内部命令:
help COMMAND
外部命令:
COMMAND --help
(7) 命令手册:manual
man COMMAND
例:man ls
man mount
man 2 read //显示read命令的第二章节。
export LANG=en //导入后,显示英文命令手册。
查找命令出现在手册的什么地方:whatis COMMAND
分章节:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
(8) 命令格式说明
<>:必选
[]:可选
...:可以出现多次
|:多选一
{}:分组
(9) MAN:
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD: 向后
n: 下一个
N:前一个
?KEYWORD:向前
n: 下一个
N:前一个
q: 退出
(10) hwclock
-w: 从系统时间设置硬件时钟。
-s: 从硬件时钟设置系统时钟。
(11)显示系统环境变量
printenv
(12)
/root/ — 根用户(超级用户)的主目录。
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/initrd/ — 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。
/dev: 设备文件
设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录;
/lib:库文件,是内核级的。仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。
静态库, .a :每个程序都要加载。
动态库, .dll, .so (shared object) :仅加载一次到内存,其它程序无需重复加载,可以直接使用。
/lib/modules:内核模块文件
附加说明:
/lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/lib目录下放置的是/bin和/sbin目录下程序所需的库文件。/lib目录下的文件的名称遵循下面的格式:
libc.so.*
ld*
/media:挂载点目录,通常挂载移动设备,光盘等。
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录。不过目前这个改了,第三方程序都放在usr/local下。
/proc:伪文件系统,内核映射文件(是系统运行后,产生的临时映射文件)。
/sys:伪文件系统,跟硬件设备相关的属性映射文件。
/tmp:临时文件( /tmp 给予所有系统用户读写权。), /var/tmp
/var:可变化的文件
/bin: 可执行文件, 用户命令在此文件夹。
/sbin:管理命令在此文件夹。许多系统命令(例如 shutdown)的贮存位置。
/usr:(全称:universal shared, read-only)全局的共享的只读文件。
/usr/bin
/usr/sbin 目录 /usr/sbin 中也包括了许多系统命令。
/usr/lib 系统级的。
/usr/local:第三方软件安装目录。
/usr/local/bin
/usr/local/sbin
/usr/local/lib 用户级的。
(13), 命名规则:
1、长度不能超过255个字符;
2、不能使用/当文件名
3、严格区分大小写
(14)
mkdir:创建空目录
-p: 同时创建多级目录
-v: verbose 详细信息
例如:mkdir -p /root/x/y/z
mkdir -pv /root/x/y/z
要创建:/mnt/test/x/m 和 /mnt/test/y两个目录,命令如下:
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}
(15)命令行展开
要在/mnt/test2/下,创建以下4个目录:
a_b, a_c, d_b, d_c
例如:
遵守如下规则:
(a+d)(b+c)=ab+ac+db+dc
{a,d}_{b,c}=a_b,a_c, d_b, d_c
方法如下:
mkdir -pv /mnt/test2/ {a,d}_{b,c}
# tree:查看目录树
删除目录:rmdir (remove directory)
删除空目录
-p:删除到上一级非空目录。
(16) 文件创建和删除
# touch 主要功能不是为了创建文件,主要是用于修改文件的时间戳。
-a :只改变访问时间。例:touch -a a文件
-m :只改变修改时间。
-t :制定访问/修改时间。例:touch -m -t 201807011211 a文件
-c
Access: 访问时间
Modify:修改时间
change:改变时间,此时间不可修改。
(17),删除文件
rm 是 rm -i的别名。想利用原生rm,可以用\rm。
-i :交互命令
-f:强制删除。
-r:递归删除
例如:rm -rf / :删除根目录,以及根目录下所有文件。
(18),复制
cp: copy
cp SRC DEST :默认只复制文件,不复制目录。
-r: 可以复制目录,并递归复制目录下的文件。
-i: 交互式
-f: 强制复制
-p: 复制文件时,保留文件原有的属主,属组,时间戳。不加此参数,则文件是谁复制,则属组,属主是谁。
-a:归档复制,常用于备份
-d: 复制链接本身,不是链接指向的文件。
复制文件的规则:
可以复制一个文件到一个文件;
可以复制多个文件到一个目录;
例:
cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/ 同时复制多个文件到 tmp目录下。
cp /etc/a.txt /tmp/ 把a文件复制到文件夹tmp下,文件名称还是a.txt
cp /etc/a.txt /tmp/b.txt 把a文件复制到文件夹tmp下,文件名称是b.txt
cp /etc/a.txt /etc/b.txt /tmp/ 把文件a.txt,b.txt复制到tmp文件夹下。
(19),移动文件
mv: move
mv SRC DEST
mv -t DEST SRC 颠倒源和目的,使用-t参数。
例:
mv /tmp/hello/ /var/tmp/abc abc不存在时,复制目录hello,并重名为abc.
mv abc mn 在同一目录下,不管abc为文件or目录 都重命名为mn。
(20),拷贝文件,设置属性。
install 默认情况下,用Install复制文件后,会为文件添加执行权限。
-d DIRECOTRY ... :创建目录
SRC DEST
install -t DIRECTORY SRC... 颠倒源和目的,使用-t参数。
例:
install /etc/updatedb.conf /tmp/ -m -rwxrwxrwx
install /etc/updatedb.conf /tmp/ -m 777 (-m修改权限。)