目录
下面是touch的高级用法编辑创建链接文件ln(软链接、硬链接)
Linux命令基础
Linux命令帮助
目录与文件基本操作
Shell(解释器)
-
Linux系统中运行的一种特殊程序
-
在用户和内核之间充当“翻译官"”
-
用户登录Linux系统时,自动加载一个Shell程序(/bin/bash/允许登录/sbin/nologin不允许登录)
-
Bash(一个环境)是Linux系统中默认使用的Shell程序
Linux命令的分类
内部命令与外部命令的区别
内部(自己自带的)
编辑linux命令行的辅助操作
Tab 键:自动补齐
反斜杠“\”:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
Ctrl+U组合键
Ctrl+E组合键:光标跳到行尾
Ctrl+A组合键:光标跳到行头
目录和文件的管理命令
查看当前工作目录:pwd
切换工作目录:cd (相对路径、绝对路径)
如何切换到父目录的父目录(cd ../../)
列表显示目录内容ls(常用选项、可结合通配符)
颜色区别
通配符
给命令设置别名alias
alias #查看系统当前所有可用别名
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias ll='ls -lt' #设置别名
注意: 在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号
unalias ll #删除别名
永久生效
vim /root/.bashrc
临时修改
- alias 命令别名 = “命令”
- unalias 别名命令 删除别名
- \加命令 原始命令
别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
统计目录及文件空间占用情况du
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
du -sh :这样搭配使用统计当前目录下所有文件的大小并显示出来,常用于磁盘水位过高的情况
创建新目录mkdir
mkdir /yzy #创建目录,注意:父目录必须存在
-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
创建空文件touch
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件
touch [文件名]
touch [文件名] [文件名]
下面是touch的高级用法
![](https://i-blog.csdnimg.cn/blog_migrate/bb844bb5bf940e3d1614b6422c39e93c.png)
创建链接文件ln(软链接、硬链接)
软硬连接的区别:
1、软连接和硬链接指向方向不一样软(指向原文件文件名,不需要占用磁盘空间)硬(指向数据块,需要单独占用空间)
2、读取方式软(指向原文件文件名)硬(指向数据块)
3、创建对象软(可以指向目录和文件)硬(不能指向目录,)
4、软连接可跨区域硬链接不行 inode值:是文件的一个位置标识(唯一性)用于给系统识别定位
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
用户使用应用程序发布指令比如 (使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件
硬件才能工作,否则无法交互。
注:相对路径与绝对路径 建议绝对路径
复制文件或目录cp
-p:连属性一起复制
-a:保留权限,复制软链接本身,递归复制
-r:递归复制
-f:强制复制,不与用户交互
-i:提醒覆盖
cp的高级用法:cp -v file1.txt{,.bak}常用于备份
删除文件或目录rm
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
常见用法:rm -rf /*
删除空目录:rmdir
移动文件或目录/改名mv
用法:mv [文件名] [目录名]
mv [文件名] [文件名]
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作
查找命令/文件存放目录which
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
查找文件或目录find:
采用递归方式
根据目标的名称、类型、大小等不同属性进行精细查找 ,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
-name :按名称查找
-size : 按大小查找
-user :按文件属主
-type: 按类型查找:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)
按时间查找:mtime atime ctime -mtime +30(查找30天前)
块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
1.0Find工具-name参数案列:
find /etc -name "resol*.conf"
find /data/ -name "*.txt" #查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" #查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" #查找/data/目录以test开头的文件;
2.0 Find工具-size参数案列
find /data/ -size +1M #查文件大小大于1Mb的文件;
find /data/ -size 4M #查文件大小为4M的文件;
find /data/ -size -1M #查文件大小小于1Mb的文件;
-size +4M 表示4M 以上 不包括 4M
-size 4M 表示3M 到4M 且不包括3M
-size -4M 表示3M 以内 包括3M
1G 1024 代表1023M - 1024M 不包括1023M
3.0Find工具-type参数案列:
find /boot -type d
find /data/ -type d #查找/data/目录下的文件夹;
find /data/ ! -type d #查找/data/目录下的非文件夹;
find /data/ -type l #查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R #查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;
4.0 查找存在的用户的文件
find /home -user 用户名
find /home -user 用户名(属主) -group 组名(属组)
设置 find 命令的查找条件时,若需要使用“*”或“?”通配符,最好将文件名用双引号括起 来,以避免当前目录下符合条件的文件干扰查找结果
find /boot -size +1024k -a | -o -name "vmlinuz*"
使用“-a”“-o”组合两个条件,前者表示两个条件必须同时满足, 后者表示只需满足其中任何一个条件即可