Linux基础命令(二)
快捷键
ctrl+l 清屏,相当于clear ctrl+s 锁定屏幕 ctrl+q 解开锁定 ctrl+c 总之命令 ctrl+a 移动到命令的行首 相当于home ctrl+e 移动到行尾,相当于end ctrl+xx 光标在命令行首和光标之间来回移动 ctrl +k 删除光标到结尾位置的字符 ctrl+u 删除光标到行首的字符 alt+r 删除正行 需要注意,alt会跟别的快捷键冲突
echo 回显
输入什么就输出什么,并且加入了一个换行符
获取环境变量
[root@localhost ~]#echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
history 命令历史
-
可以通过键盘上的箭头来查找之前执行过的命令
-
通过history来获取之前执行过的命令记录
-
执行刚才执行过的命令
- 键盘上的向上箭头
- !!
- !-1
- ctrl+p
-
使用!:0来执行上一条命令(去掉参数)
-
!# 来执行第多少条命令
[root@localhost ~]#!123 which cp alias cp='cp -i' /usr/bin/cp
-
!string 直接查找最近的一条包含string的命令
-
ctrl+r 搜索之前执行过的命令
-
ctrl+g来退出搜索
-
调用上一个命令的参数
- esc .
-
history 的命令历史
history # 显示最后的#条命令 history -c 清空命令记录
-
当用户登录系统之后,会读取家目录下的.bash_history文件
-
正常退出,会将之前执行过的命令写入到文件
目录结构
- 目录结构是一个倒置的树
- 目录从“/”开始
- 目录严格区分大小写
- 隐藏文件以.开头
- 路径的分隔符是/
文件命名规范
- 文件名最长为255个字符
- 包括路径在内最长4095个字符
- 除了/和NULL以外,其他的字符都生效
- 名称大小写敏感
颜色的表示
- 蓝色 表示目录
- 绿色 表示可执行文件
- 红色 表示压缩文件
- 蓝绿色 链接文件
- 白色 普通的文件
- 灰色 其他文件
文件系统结构
- /boot 存放系统的引导文件,内核文件、引导的加载器放在该目录
- /bin 所有的用户都可以使用的一些基本命令
- /sbin 管理员可以使用的命令,管理类命令
- /lib 基本的一些库文件(windows 是.dll linux是.so)
- /lib64 专门用于64位操作系统的一些辅助库文件
- /etc 配置文件目录
- /home/Username 普通用户的家目录
- /root 超级管理员的家目录
- /media 便携式移动设备挂载点
- /opt 第三方的安装程序
- /srv 系统上允许的服务用到的数据
- /tmp 存放临时文件的目录
- /usr 存放安装程序
- /var 存放经常变化的数据,比如日志
- /proc 用来存放内核和进程相关的虚拟文件
- /dev 用来存放设备的
- /mnt 临时文件挂载
- /run 服务或者系统启动以后生成的文件
- /sys 存放的是硬件设备相关的虚拟文件
程序组成部分
- 二进制
- /bin
- /sbin
- /usr/bin
- /usr/sbin
- /usr/local/bin
- /usr/local/sbin
- 库文件
- /lib
- /lib64
- /usr/lib
- /usr/lin64
- /user/local/lib
- /usr/local/lib64
- 配置文件
- /etc
- /etc/directory
- /usr/local/etc
- 帮助文件
- /usr/share/man
- /usr/share/doc
- /usr/local/share/man
- /usr/local/share/doc
相对路径 绝对路径
绝对路径:
- 从根开始
- 完整的路径
相对路径:
- 相对于某个文件或者目录 - 不是/开始 - .. 代表是父级目录 - .代表当前路径
获取文件名和文件路径
[root@localhost network-scripts]#basename /etc/sysconfig/network-scripts/ifcfg-ens33 ifcfg-ens33 [root@localhost network-scripts]#dirname /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts
pwd
print working directory
[root@localhost etc]#pwd /etc [root@localhost etc]#cd sysconfig/network-scripts/ [root@localhost network-scripts]#pwd /etc/sysconfig/network-scripts
ls
list 列出指定目录的文件或者文件夹
语法:ls [OPTION]... [FILE]...
ls -a 列出所有的文件(包括隐藏文件) ls -l =ll 使用长格式来显示文件相关信息 ls —R 递归显示 ls -d 显示目录本身 ls -1(数字1) 竖着显示文件 ls -S 根据文件的大小来排序 ls -lSr 升序排序 ls -d */ 显示当前目录下的目录,不能指定目录 ls -h 以人类易读的方式显示
ls -ltu 按照atime时间排序
touch 创建空文件修改文件的时间戳
touch 用来修改时间和创建文件
如果文件存在的话,则修改时间
如果不存在,则创建文件
命令的展开
[aze@localhost ~]$echo {1..10} # 命令展开 1 2 3 4 5 6 7 8 9 10 [aze@localhost ~]$echo `seq 1 10` # seq x1 x2,循环输出x1~x2 1 2 3 4 5 6 7 8 9 10 [aze@localhost ~]$echo {1..10..2} # {x1..x2..x3},第三位指定步长 1 3 5 7 9 [aze@localhost ~]$echo `seq 1 2 10` # seq x1 x2 x3,x2为步长,可省略 1 3 5 7 9
命令的引用
# 方法一:`命令` # 方法二:$(命令) [aze@localhost ~]$echo `date` Mon Mar 30 10:53:01 CST 2020 [aze@localhost ~]$echo $(date) Mon Mar 30 10:53:09 CST 2020
文件通配符
* 代表零个或者多个字符 ? 代表任意的一个字符 ~ 代表家目录 [0-9] 代表数字 [a-z] 字母,从a-z并且包括A-Y [A-Z] 字母,从A-Z 并且包括b-z [abcdef] 表示其中的任何一个 a[^abcdef] 取反 [:lower:] 小写字符 [:upper:] 大写字符 [:digit:] 数字 a-zA-Z 所有字母 [:alpha:] 所有字母 a-zA-Z0-9 任意字母或者数字 [:alnum:] 代表所有的字母和数字
例:
[aze@localhost test]$ ls a[:lower:] ae al ao ar aw [aze@localhost test]$ ls a[[:lower:]] aa ac ae ag ai ak am ao aq as au aw ay ab ad af ah aj al an ap ar at av ax az [aze@localhost test]$ ls a[[:alnum:]] a1 a4 a7 aa aB ad aE ag aH aj aK am aN ap aQ as aT av aW ay aZ a2 a5 a8 aA ac aD af aG ai aJ al aM ao aP ar aS au aV ax aY a3 a6 a9 ab aC ae aF ah aI ak aL an aO aq aR at aU aw aX az
stat 查看文件状态
[aze@localhost test]$ stat a1 File: ‘a1’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 16777971 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ aze) Gid: ( 1000/ aze) Context: unconfined_u:object_r:user_home_t:s0 Access: 2020-03-30 12:28:52.204650253 +0800 Modify: 2020-03-30 12:28:52.204650253 +0800 Change: 2020-03-30 12:28:52.204650253 +0800 Birth: - 访问时间:access 读取文件内容,简称: atime 修改时间:Modify 改变文件的内容,简称: mtime 改变时间:change 改变文件的内容,简称: ctime

cp 复制文件和文件夹
Usage: cp [OPTION]... [-T] SOURCE(源文件) DEST(目标文件)
or: cp [OPTION]... SOURCE... DIRECTORY
or: cp [OPTION]... -t DIRECTORY SOURCE...
- 如果source是一个文件的话
- 如果目标不存在,新建一个目标文件,并将数据写入到目标文件里面
- 如果目标文件存在
- 如果目标文件是一个目录,直接在目标目标下面新建一个跟源文件同名的文件,并将数据目标文件写入到文件
- 如果说目标文件是一个文件,直接就覆盖,为了安全起见,建议cp配合-i使用
- 如果源文件是多个文件的话
- 目标文件如果是文件的话,则直接报错
- 如果目标文件是一个目录的话,则直接复制进目录
- 如果源文件是目录的话
- 如果目标不存在,则创建指定的目录,必须-r选项
- 如果说目录存在
- 如果目录是一个文件的话,则会报错
- 如果目标是一个目录的话,则在目录下面创建一个新的同名目录,并把文件复制过去
常用参数:
-i 覆盖之前提示 -n 不覆盖 -r 递归复制,复制目录及目录下的所有文件 -f 强制 -v 显示复制过程 -b 在覆盖之前,对源文件做备份 cp --backup=numbered 1.cfg 2.cfg 覆盖文件,备份文件添加上数字 -p 保留原来的属性
mv 移动或者重命名
Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... -i 交互式 -f 强制 -b 覆盖前做备份 -v 显示进度
rm 删除
rm [OPTION]... FILE... -i 交互式 -f 强制删除 -r 递归删除 rm -rf /* 慎用 rm -rf /* 慎用 rm -rf /* 慎用

浙公网安备 33010602011771号