命令分为两大类:
内部命令:由shell程序自带的命令;
外部命令:独立的可执行程序文件,文件名即命令名;命令可有别名;
优先级:别名>内部命令>外部命令
可以用type命令来区分内部或外部命令
例:[root@centos7 ~]#type cat
cat is /usr/bin/cat 有路径,表明是外部命令
[root@centos7 ~]#type cd
cd is a shell builtin builtin,表明是内部命令
别名(alias):alias NAME='COMMADN' unalias 取消别名
例:alias ls='ls --color=auto' ls代表自己定义的名字,‘ ‘内的代表你要执行的命令
date 时间
%Y 年
%m 月
%d 日
%F=%Y-%m-%d=年月日
%H 时
%M 分
%S 秒
%T =%/H-%M-%S 时分秒
date -s “” 更改时间
date -d +字符串:显示固定日期
例:date -d “-2 day” +%F
date 080706052019.10 =date 月日时分年.秒
date -d "-2 day" +%A 前两天是星期
clock 硬件时间
clock -s 以硬件时间改系统时间
clock -w 以系统时间改硬件时间
用户登录信息查看命令:
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
echo:回显命令
echo [SHORT-OPTION]... [STRING]...
-n:不自动附加换行符;即都在一行显示;
-e:启用转义符,使能转义符\;
\n:换行;
\b:退格;
\t:水平制表符;
\v:垂直制表符
例:[root@centos7 ~]#echo heelo
heelo 把命令后的字符重新显示
[root@centos7 ~]#echo $PS1
\[\e[1;34m\][\u@\h \W]\$\[\e[0m\] 查看变量
history 命令历史
.bash_history 存放历史的文件,重启后写入
Ctrl+r:在历史中搜索
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-a: 追加本次会话新执行的命令历史列表至历史文件
-p: 展开历史参数成多行,但不存在历史列表中(无痕迹操作)
-s: 展开历史参数成一行,附加在历史列表后(伪造历史命令)
cp命令:copy
源文件 目标文件
单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY:目标必须是目录;
cp [OPTION]... -t DIRECTORY SOURCE...
例:
cp /etc/grub2.cfg /data/:复制文件到指定目录;
cp /etc/grub2.cfg /data/mygrub.cfg:复制重命名;
cp /etc/grub2.cfg /data/mygrub.cfg:显示复制后重名文件,是否覆盖;
常用选项:
-i,--interactive:交互式复制,即覆盖目标文件之前提醒用户确认;
-f,force:强制覆盖目标文件;
-R,-r,--recursive:递归复制目录及其内容;
-P,--no-dereference:复制链接文件本身,而非默认的复制链接文件指向的原文件内容;
-d:相当于--no-dereference;复制链接本身(默认为复制链接文件的原文件内容);
--preserve[=ATTR_LIST]:
指明保留的原文件属性列表;
默认为default: mode, ownership, timestamps;
还包括其它属性:context(安全上下文), links(符号链接), xattr(额外属性), all;
-a,--archive:归档复制;备份时才会使用;
相当于-dR --preserve=all;
mv命令:(不需要-r选项)与使用cp命令相似;
mv - move (rename) files
单源移动:mv [OPTION]... [-T] SOURCE DEST
多源移动:mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
注意:原文件目录与目标文件目录相同时,为rename;否则为move;
不区分目录和文件,直接move;
常用选项:
-i,--interactive:交互式复制,移动时,如果目标文件存在时提示用户确定是否覆盖(仅root用户);
-f,force:强制移动,覆盖前不提示;
rm命令:
即能删除文件又能删目录,但删目录时要用递归-r选项;
rm - remove files or directories
rm [OPTION]... FILE...
常用选项:
-r, -R, --recursive:递归删除目录及其内容;
-f,force:强制删除,不提示确认;
-i,--interactive:交互式,提示确认;
软、硬链接:
硬链接:相当于一个文件的不同文件名,实质还是一个文件,inode号相同;删除时只是相当于删除文件名,只有链接都被删除时,才会删除数据;有不能跨文件系统(分区),不能指定目录的缺陷。
软链接:指向另一个文件的文件路径,相当于两个文件,inode号不同;删除符号链接文件,不影响原文件,但删除原文件,符号链接文件指定的路径即不存在,此时会变成无效的链接;可以跨文件系统使用,可以指定目录。
目录的本质:
Linux中的目录关联着操作系统:
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub) 都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/dev:设备文件及特殊文件存储位置
/tmp:临时文件存储位置
/usr:与根目录下的内容基本相似
/var:信息数据位置
/proc: 用于输出内核与进程信息相关的虚拟文件系统