加载中...

Linux基础(二)--一些常用命令


快捷键

ctrl+a 移动到命令的行首 相当于home

ctrl+e 移动到行尾,相当于end

ctrl+w 剪切光标钱一个单词

ctrl+u 剪切光标前的内容

ctrl+k 剪切光标至行末的内容

ctrl+y 粘贴

ctrl+l 清屏,相当于clear

ctrl+s 锁定屏幕

ctrl+q 解开锁定

ctrl+c 总之命令

ctrl+xx 光标在命令行首和光标之间来回移动

alt+r 删除正行

alt+f 跳向下一个空格

alt+b 跳向上一个空格

alt+Backspace 删除前一个单词

需要注意,alt会跟别的快捷键冲突

命令补全

tab键

内部命令:

外部命令:shell 会根据环境变量从左至右依次查找,找到第一个匹配的则返回

  • 如果说给定的字符串只能搜索到一个的话,则直接显示
  • 如果给定的字符串搜索到多个的话,则需要按两次tab键

目录补全

  • 把用户给定的字符串当做路径的开始部分,来搜索
    • 如果只搜索到一个,则直接显示,直接一个tab
    • 如果说搜索到多个的话,列出一个列表,让用户自行选择,需要按两次tab键来获取列表

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文件

  • 正常退出,会将之前执行过的命令写入到文件中

帮助信息

  • 内部命令
    • help command
    • man bash
  • 外部命令
    • command –help
    • command -h
    • man command q退出
    • 官方文档
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
  [] 代表可选
  ... 表示一个列表
  [-u|--utc|--universal] 任选其中一个
  -lh 代表-l -h
  date 052805271980 设置时间
ntpdate time.windows.com  自动与时间服务器同步时间

man

箭头来控制输出

回车输出下一行

空格切换到下一屏

章节

1 用户的命令

2 系统的调用

3 c库的调用

4 设备文件或者特殊文件

5 配置文件

6 游戏

7 杂项

8 管理类的命令

9 linux内核API

目录结构

  • 目录结构是一个倒置的树
  • 目录从“/”开始
  • 目录严格区分大小写
  • 隐藏文件以.开头
  • 路径的分隔符是/

文件命名规范

  • 文件名最长为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

cd

change directory

可以使用相对路径,也可以使用绝对路径

[root@localhost etc]#cd
[root@localhost ~]#
[root@localhost ~]#cd - 可以快速的回到上一次的目录
/etc/sysconfig/network-scripts
[root@localhost network-scripts]#cd -
/root

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 以人类易读的方式显示

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

avatar

复制文件和文件夹

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 保留原来的属性

移动或者重命名

Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
-i  交互式
-f  强制
-b  覆盖前做备份
-v 显示进度

删除

rm [OPTION]... FILE...
-i 交互式
-f 强制删除
-r 递归删除
rm -rf /* 慎用
rm -rf /* 慎用
rm -rf /* 慎用
cd /
rm -rf *

附录:


文章作者: 无夜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 无夜 !
评论
  目录