/usr --> 系统里的资源文件的目录
bin在usr目录下 --》》存放的是普通命令,任何用户都可以使用
sbin --》》有权限的用户可以使用 super user binary 御用
unix system resource -->unix系统资源
资源:程序、软件
linux 是山寨的unix
unix 1970出来的
linux 是1990年后出现的
/bin -->存放二进制文件(linux系统里的命令)
linux操作系统里的命令,很多都是使用c/c++编写的
/var --> 存放可以变化的文件的目录 variable
log
/root --->>root用户家目录
/home --->>普通用户家目录
可执行文件:就是使用编程语言(c/c++/java/python/go等)编写的程序,这些程序都可以直接运行
运行:run
执行:execute
可执行:executable
1.命令查找类命令:
which :用于查找命令存放的路径
练习:
自己编写一个程序hello。存放在/sc目录下,修改PATH变量,添加/sc目录,让linux可以到/sc目录下查找命令
#1.创建目录 mkdir /sc cd /sc #在该目录下编写文件内容 vim hello.c #include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } #安装编译文件 yum install gcc -y #编译 gcc -o hello hello.c 将hello.c编译成hello二进制文件 #运行 hello #改变路径 PATH=/sc:$PATH
如何永久修改PATH路径
vim /root/.bash_profile
修改成下main的路径:
PATH=/sc:$PATH:$HOME/bin
如何永久取消别名
vim /root/.bashrc
#alias hello='/script/hello.sh'
如何让自己编写的程序能否linux系统里查找,并且去执行?
1.修改PATH变量 --》》改变世界
2.将我们编写的命令复制到PATH变量对应的文件夹里 --》》适应世界
命令查找类命令:
PATH变量定义:存放可以执行文件的目录
如何查看PATH变量的值或者定义?
1.echo $PATH
2.set
3.env
bash是linux里的解释器。帮助我们去查找需要执行的命令,然后去执行:
1.查找命令的路径
2.去窒息感
bash 会到PATH变量定义的文件夹里去查找
会从PATH变量定义的路径的左边的文件夹开始查找,如果找到,就停止查找,如果没有找到,就从第二个开始,以此类推
2.历史命令:
history:可以查看最近1000条历史命令
-c 清楚历史命令
!ls 执行最近命令里的ls命令(只需要输入ls就行,不需要接后面复杂的地址)
!150 执行第150条历史命令
省事儿的话 只需要输入部分命令就行,例如!l =!ls
上下方向键
4.查找类命令:
find / -name hello.c /sc/hello.c
find 是命令
/ 表示查找的路径
-name 是指定查找命令的条件 根据名字去查找
精确匹配:不多不少 hello.c
模糊匹配: “ hello*” 使用通配符
-name:按文件名称查找
-iname:按文件名称查找,不区分大小写 case insensitive.
-size: 按文件大小查找
-user: 按文件属主查找
-type: 按文件类型查找
f 普通的文件 file d 目录 directory
-perm :按文件权限查找
-mtime :按文件 更改时间查找
+7 表示7天以前的文件 n*24 -7 表示7天内的文件
-newer:按比某个文件更新的查找
-maxdepth: 按查找深度限制
-user:指定归属用户
多条件的组合
逻辑组合
and -a ----》逻辑与 两边的条件都要满足 --》默认
or -o ----》逻辑或 两边的条件只要满足一个就可以
-not 在命令中可以用“!”表示,该运算符表示查找不满足所给条件的文件
-size -10M -a -name
man find (说明文档)
/ -iname
n 查找下一个匹配的字符串 next
N 查找上一个匹配的字符串 next
q 退出 quit
find后的具体操作:
-exec 后面接需要执行的命令 --》动作
rm -rf 删除的命令和选项
{} 代表前面find查找到的内容 --》占位符号 将find到的内容全部输入到花括号里面
\; 代表命令的结束符号
查找/find目录下,大于1M的文件,复制到/tmp目录下
find /find -size +1M -type f -exec cp {} /tmp \;
4.压缩类命令:
gzip :将文件压缩为后缀名 gz的形式
[root@changmiao sctar]# gzip hosts [root@changmiao sctar]# ls hosts.gz
解压使用:gunzip
直接读取压缩cat
xz:将文件名后缀名 xz的形式
解压使用:unxz
tar命令
##tar包 tarball
##归档文件 压缩文件 tar包
##用途:制作归档文件、释放归档文件
##格式:tar [选项]... 归档文件名 源文件或目录
##tar [选项]... 归档文件名 [-c 目标文件]
常用命令选项
-c:创建 .tar 格式的包文件 create -x:解开.tar格式的包文件 extract -v:输出详细信息 -f:表示使用归档文件 file -t:列表查看包内的文件 list
常用命令选项
-C:解包时进入指定的目标文件夹 -z:调用gzip程序进行压缩或解压 -J:调用xz程序进行压缩或解压
1.创建tar包
-czf -->.tar.gz
-cJf -->.tar.xz
2.查看tar包里的内容
tar tf passwd.tar.gz
etc/passwd
3.解压压缩包,解压后的文件夹或文件默认放在当前文件夹
tar xf boot.tar.gz
练习1:
1.在根目录下新建2个目录叫find和backup 2.进入find目录,复制/etc/passwd 到当 前目录 3.复制/boot目录到当前目录下 4.新建一个目录叫hunantv 5.新建一个空文件叫daydayup 6.查找mkdir和touch命令的路径 7.使用find命令查找出/find目录下大小大于1M并且名字里包含vmlinuz的文件 8.使用find命令查找出/find目录下大小大于1M小于4M的文件 9.查找出你机器里包含feng*.iso的文件并且此文件大小大于2G 10.查找/root目录下3天内创建的文件,并且大小大于1k
练习2:
1.创建一个目录在/lianxi下叫tar 2.进入tar目录,复制/etc/hosts文件和/etc/passwd到tar目录下 3.复制/boot目录到tar目录下 4.将当前目录下的boot目录打包放在/lianxi/tar目录下叫boot.tar.gz 5.查看boot.tar.gz文件里的内容 6.将hosts文件和passwd文件打包放到host_passwd.tar.xz文件 7.查看host_passwd.tar.xz文件里的内容 8.将/boot/目录和/etc/passwd、/var/log目录备份到/lianxi目录下叫boot_pw_log.tar.xz 9.新建/bak目录,然后将/lianxi目录下的boot_pw_log.tar.xz解压到/bak目录下