Linux基本命令
一、 Linux的命令操作(最常用):
命令的使用结构
命令名称 [操作选项] [操作源对象] [操作目标对象]
1. 对目录进行操作(目录== 文件夹)
ls : 查看目录下的内容
/ 查看根目录下的所有目录
-a 查看隐藏文件
linux 下以 . 开头的文件是隐藏文件
. 当前目录
.. 当前目录的上一层目录
-l 列出目录下内容的详细信息
drwxr-xr-x. 2 wxt wxt 4096 4月 6 02:18 图片
-rw-rw-r--. 1 wxt wxt 6 6月 26 03:15 tmp2
d 开头目录型文件
- 开头 普通文件
rwxr-xr-x 文件权限
2 文件计数器(每删除一个文件,连接计数减1)直到为0,才会真正释放磁盘
wxt 第三列所属用户
wxt 第四列所属用户组(默认创建用户组为自己)
4096 文件大小(按字节)
4月 6 02:18 最后一次修改时间
-t 按时间排序
-r 对排序进行逆序,和-t结合使用(ls -ltr)
pwd: 查看当前所在目录
/home/wxt 绝对路径(起始查找路径从根目录开始)
../san 相对路径 (相对于当前路径开始查找的路径)
. 相对路径
echo 文件中写入 (echo "find good work">>test/aa.txt )
man 手册命
man 命令名 查看制定命令的手册(man ls)
mkdir 创建目录
mkdir 目录名
-p 递归创建目录(mkdir -p abc/bcd/def)
rmdir 删除空目录
-p 递归删除空目录
cd 改变当前所在路径
~ 当前用户家目录
- 上一次所在路径
rm 删除文件(默认不能删除目录)
-r 删除文件,包含目录
-f 忽略提示信息,强制删除
cp 复制
-r 复制文件到指定位置,包含目录
-f 忽略提示信息,强制拷贝(-rf)
mv 移动/剪切文件到指定位置(mv aaa/ test 将aaa移动到test中)
-f 忽略提示信息
2.对文件进行操作
touch 刷新文件时间属性,若文件不存在则创建
-t 以指定时间刷新
-r 以一个文件为标准刷新另一个文件
-a 仅仅刷新文件最后一次访问时间
-m 仅仅刷新文件最后一次修改时间
cat 将文件内容全部打印到终端显示(适用短小)
-n 显示行号
tac 逆序将文件内容全部打印到终端显示
more 按页显示文件内容
按空格向下翻页
回车向下走一步
q 退出
less 按也显示文件内容
f pgdown 向下翻页
b pgup 向下翻页
回车 上下 按行移动
/string 向下匹配string
?string 向上匹配string
q 退出
head 显示文件前n行的内容(默认前10行)(head /etc/passwd)
-n 用于指定显示多少行(head -n 3 /etc/passwd)
tail 显示文件后n行的内容(默认后10行)(tail /etc/passwd)
-n 用于指定显示多少行(tail -n 3 /etc/passwd)
-f 动态刷新文件末尾内容(tail -f test)
cp
mv
3.压缩相关操作(压缩/解压缩/打包)
zip/unzip zip格式的压缩解压缩 (zip test.zip test.txt)(unzip test.zip)
gzip/gunzip gzip格式的压缩解压缩 (gzip test.gzip test.txt)
bzip2/bunzip2 bzip2格式的压缩解压缩
tar 打包命令
-c 打包
-v 显示详细的打包/解包文件信息
-f 指定包名字(因为-f 用于指定包名 因此通常是最后一个选项)
-x 解包 列 tar -xzvf test.tar.gz
-z 打包解包的同时以gzip格式压缩/解压
-j 打包解包的同时以bzip2格式压缩/解压
4.查找匹配操作
grep 字符串匹配
grep “aa”test.txt
匹配test.txt文件中包含有aa字符串的行
-v 反向匹配
匹配的是不包含aa的行(-v grep “aa”test.txt)
-i 忽略大小写进行匹配(grep -i“aa”test.txt)
-R 当前目录下进行文件递归匹配(grep -iR“aa”./)
find 从指定目录下查找文件
-name 按名称查找文件(find ./ -name "aa.txt")
-type 按文件类型查找文件
f 普通文本文件
d 目录型文件(find ./ -type d)
linux 下文件类型并不以后缀名来区分
后缀名只是用于用户容易分辨文件功能
-size 按大小查找文件(find ./ -size -30c)小于30字节
+ns 超过n
-ns 小于n
s:
c 字节
b 块(默认512字节)
k
m......
-amin/-cmin/-mmin 按分钟查找
-atime/-ctime/-mtime 按天查找
-n 在n分钟/天之内 (find ./-cmin -3)
+n 超过n分钟/天
5.其他命令(cal date bc uname halt reboot shutdown)
cal 查看日历
-3 相邻总共三个月的日历
-j 显示当前月的每一天是当年第几天
-y 显示全年日历
date 显示年月日时分秒
-s 设置系统时间(date -s "2018-9-22 12:00:00")
+%s 查看时间戳(从1970年1月1日零点零分零秒到现在经过的秒数)(date +%s)
+'%Y-%m-%d' 可以指定格式显示时间(2018-9-20)
bc 计算器(按ctrl+c退出)
uname 查看系统的版本信息
-r
-a 查看详细的信息
halt 关机
reboot 重启
shutdown -h now 关机
二、 linux权限:
超级用户:root
普通用户
su 切换用户
rwx rwx rwx
针对文件的权限分了三类用户
文件所有者: 文件属于谁
文件所属组: 文件属于哪个用户组(组内成员)
其他用户: 除了上边两类之外的用户
文件的权限也有三类:
可读权限 用户是否能够读取内容
可写权限 用户是否能够修改内容
可执行权限 用户是否能够执行这个文件
7 7 5
111 111 101
rwx rwx r-x
文件所有者 u 文件所属组g 其他用户o
文件权限 目录权限
r 可读权限 是否可浏览目录
w 可写权限 是否可创建删除目录
x 可执行权 是否可以进入目录
例: 644 rw-r--r--
umask 显示或者修改当前的文件默认创建权限掩码(创建文件默认去掉可执行,所以为664)
文件满权限777减去掩码得到最终的文件权限
但是shell说文件创建的时候默认不允许可执行
umask 值是022-----权限:755( rwxr-xr-x)
权限 & (~umask)
chmod 修改文件权限
u 所属用户(chmod u+x work.txt)
g 所属组
o 其他
a 所有用户(chmod a+w work.txt)
+/- rwx
0777 以八进制数字来设置权限
chown 修改文件所属用户(root下 chown root work.txt )
chgrp 修改文件所属组
沾滞位-----权限位
首先沾滞位是针对目录来设置的
在设置了沾滞位的目录中可以创建文件,可以删除自己的文件,但是不能删除别人的文件
chmod+t dir 设置目录的沾滞位
管道符:
链接两个命令,将前面命令的结果交给后边命令来处理
重定向: 修改数据的流向
> 标准输出重定向(清除原有内容,将新内容写入)
>> 标准输出重定向 (将原有内容最后追加新内容)
将原本要写入到终端显示文件的数据写入到指定文件中
三、 根目录下各个目录的功能?
Linux 是一个多用户,多任务操作系统,同时可以的登陆多个用户。Linux下,一切对象皆为文件的主旨,
在根目录下,涵盖了所有核心关键的目录,每个目录分管不同的功能项,一些核心的功能目录,更是不能去随意改
动或者删除,对根目录下的目录有一定的认知,对于管理自定义的文件有很大的帮助,也就是我们常说的标准化:
/ home: 总的家目录(总的家目录下边又有各个用户自己的家目录,默认情况下家目录都是以)
/bin: 保存系统命令,如ls、cd、pwd等常用命令
/dev: 存放设备文件,特殊文件保存目录(不可以随意修改)
/home: 用户目录,存放普通用户相关文件的用户,是我们常用的目录
/lost+found:存放临时文件。此文件夹大多数情况下都是空的,当突然停电或非正常关机后,有些文件就临时存放在这里。
/mnt: 缺省挂载点,挂载U盘、移动硬盘目录(常用)
/sbin: 用来存放管理员才能使用的命令,即具有一定权限才可以使用的命令
/proc: 进程,该目录不能直接操作,其保存的是内存的过载点
/srv: 系统启动服务时可以访问的数据库目录
/tmp: 临时目录
/var: 系统相关文档内容目录,存放经常被修改的文件,包括各种日志、数据文件。
/boot: 存放引导的相关文件,保存系统的启动数据(不可随意操作)
/etc: 用来存放配置相关文件
/lib: 存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。
/media: 存放挂载和自动挂载设备的标准位置。如远程文件系统和可移动介质。
/opt: 存放第三方软件。第三方软件在安装时默认会找到这个目录,所以如果你没有安装此类软件时,它是空的,但如果你一旦把它删除,以后再安装此类软件可能会碰到麻烦。
/root: 存放root用户(即管理员用户)相关文件的目录
/sys: 该目录不能直接操作,存放类似于/proc的文件系统,在linux2.6内核中最新出现,包含的文件用于获得硬件状态并反映内核看到的系统设备树。它使用了/proc中的很多帮助。
/selinux: selinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
/usr: 系统软件资源目录,存放默认安装文件的目录,存放用户的应用程序和文件
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/src 源代码,linux内核的源代码就放在这里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库