学习linux基础,补充记背
1.linux基础
1.1 cp
1.2 ls
1.3 find
1.4 selinux
1.5 echo
1.6 pwd
1.7 通配符
1.8 创建
1.9 touch
1.10 连接
1.11 xargs
1.12 其他命令
1.linux基础命令
1.1 cp
cp -i 基本的复制,需要用户确认
cp -f 强制复制
cp -a 完整复制,包括链接
cp -v 可视化
cp -r 复制文件夹必要
cp -p 保持权限不动复制
cp -v 可视化
cp -u 增背,改变了就替换
cp -b 先备份(只保留最近) 不是很理解
补充:
cp [选项] [源文件] [目标文件] 跟mv [选项] [源文件] [目标文件] (单个文件)一样可改名
批量改名rename 旧字符 新字符 目标文件
1.2 ls
ls -l 最基本的显示
ls -a 显示所有,包括隐藏文件
ls -A 显示所有,不包括隐藏文件
ls -h 显示文件大小单位
ls -S 按大小排序显示
ls -d 只显示目录
ls -R 递归显示所有
ls --color 显示颜色
ls -i indoe号
ls -lt 按照时间降序
ls -lrt 按照时间升序
补充:
ls -a * 显示所有,不包括隐藏文件
ls -a 显示所有,包括隐藏文件
ls * 显示所有,不包括.开头文件(具体实参操作,貌似还显示包括改子目录的文件)
ls .* 显示.开头文件,并且还有上一级目录
黑色:普通文件
黄色:块设备文件
红色:压缩包
蓝色:文件夹
天蓝色:链接文件
绿色:可执行文件
文件类型:
-(f)普通文件 d 目录文件 s套接字文件 l 链接文件 c 字符设备文件
p 管道文件 b 块设备文件
1.3 find
find [查找路径] [查找条件] [找到后的操作]
默认为当前 默认为所有 默认为显示在屏幕
查找条件:
关键字 | 说明 | |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号 | -inum | 根据文件inode号查找 |
按权限查找 | -perm | 按文件权限查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level |
操作:
-print 默认,打印在屏幕上
-delet 删除
-ls 详细信息
-file 输出到文件
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令{}: 用于引用查找到的文件名称自身
-exe
-atime [+|-]#
# #表示[#,#+1)
+# #表示[#+1,∞]
-# #表示[0,#)
-mtime
-ctime
#以“分钟”为单位
-amin
-mmin
-cmin
find -mtime 10
#10天到11天
find -mtime +10
#代表11天以上
find -mtime -10
#10天以内
例子:
[root@localhost opt]# find -name "*.txt" -ok mv {} /mnt \;
[root@localhost opt]# find -name "*.txt" -exec mv {} /mnt \;
[root@localhost opt]#find /home -user zhangsan -fls /opt/test
补充:
find /etc -type d -o -type l (-a) -ls | wc -l 在etc目录下查找类型为目录和链接文件,并显示链接文件详细信息后,按行统计链接文件数量
find /etc -type d -o -type l | wc -l 在etc目录下查找类型为目录和链接文件,按行统计一共文件数量
find /etc \(-type -d -o -type l \) -a -ls | wc -l 在etc目录下查找类型为目录和链接文件,并显示其所有文件详细信息后,按行统计文件数量
1.4 selinux
对于初学者,理解为在Linux基础上的安全模块
临时关闭:setenforce 0
查看状态:/usr/sbin/sestatus -v (getenforce)
永久关闭:vi /etc/selinux/config selinux:enforcing改为disable
1.5 linux的哲学思想
一切皆文件 没有可视化界面 (开源免费)? 不在乎后缀 一个程序只负责本职工作 负责程序可以组合不同用途功能的程序来完成
shell:是用户和内核交互的一个接口
1.6内部命令与外部命令
内部命令 | 外部命令 |
集成与shell上 | 是执行特殊功能的脚本文件或二进制代码 |
属于shell一部分 | 不属于shell |
系统中没有单独的文件 | 系统中有单独的一个文件 |
载入内存,可以直接使用 | 需要知道路径,由shell加载使用 |
补充:
type可以用来区分内外部命令
内部+help 内部+ --help whereis 比较详细 which? man?
外部命令使用后会加在hash缓存里,加快调用速度
hash -d ls 删除ls hash -r 清空hash
关闭内部命令:enable -n
开启内部命令:enable
1.5 echo
echo -n 不换行
echo -e 转义字符
echo -E 显式地抑制对于反斜杠转义的解释
转义字符:
\a 警告 \b 退格 \c 抑制输出 \e 转义字符 \f提供各式 \n换行
\r 回车 \t 横向制表符 \v 纵向制表符 \\ 反斜杠
1.6 pwd
显示绝对路径
pwd -p显示真实路径
1.7 通配符
注意点:[a-z]的范围,无a和Z
[[:lower:]] = {a..z} [[:upper:]]={A..Z} [^abc]除了abc以外 [[:digit:]]={0..9}
1.8 创建
mkdir [选项] [位置和名字]
mkdir -p 递归创建文件夹
1.9 touch
创建空文件或者刷新时间 可以用stat查看 访问时间,修改时间(文件内容),改变时间(权限变化,文件大小)
1.10 连接
硬连接和软连接区别:
硬连接相当于复制一个新的,然后改名,本质是一个文件,删除源文件还可以访问
软连接相当于快捷方式,删除源文件后无法访问,本质不是一个文件
1.11 xargs
理解为传递参数,当命令需要参数,可以使用这个来传递参数
find /etc abc | xargs rm
管道:
find /etc abc | grey "xx"
1.12 其他命令
cat /proc/cpuinfo
cat /proc/meminfo free 查看内存大小
lsblk 查看硬盘情况
cat /proc/partitions 查看分区情况
arch 查看机器架构
uname -r 查看内核版本