Linux命令详解 :
文件类型:
d:目录类型文件
-:普通文件
c:字符设备文件(键盘)
l:符号链接文件
b:块设备文件(硬盘)
s:网络通信文件
文件权限:linux是多用户操作(分三类)
目录相关命令:
ls 列出当前目录下的文件列表信息 目录:就是文件夹
ls +目录名/ 浏览指定文件夹中的内容
-a:显示隐藏文件
-l:显示目录下文件详细信息 也可以写成ll
-rwxrwxr-x. 1(链接数) test(属于哪个用户) test(用户组) 8512(文件大小) 3月 18 21:09 a.out(最后一次修改时间)
-rw-rw-r–. 1 test test 0 3月 9 20:36 b
-rw-rw-r–. 1 test test 0 3月 16 10:50 c
drwxrwxr-x. 2 test test 15 3月 9 20:46 disk1
pwd 显示当前所在路径的绝对路径
绝对路径:以根目录作为起始的路径。最前边的“/”是根目录,后边的都是分隔符:/home/test
相对路径:以当前路径作为起始路径
Linux目录结构:树形结构–最底层-根目录(/)
每个文件中都有“.”和“…”"."代表当前路径。“…”代表的是当前路径的上层路径
mkdir 创建目录
-p :逐级创建多层目录
rmdir 删除空目录(不常用)
-p:逐级删除多层空目录
rm 删除普通文件
-r:删除目录(递归删除目录及目录下的所有文件)
-f:忽略提示信息,直接进行操作
cp 拷贝一个文件到指定的目录下,如果这个目录不存在,相当于改名备份
cp -r test/ workspace/
-r:拷贝文件(递归拷贝目录及目录下的所有文件)
-f:忽略提示信息,直接进行操作
mv 移动一个文件或目录到指定的位置
mv ./passwd workspace/
-i:显示提示信息
cd 改变当前路径(进入指定目录)
~:当前用户的家目录
-:上一次所在的路径
普通文件命令:
touch 若文件不存在则创建一个新文件,否则刷新文件的时间属性
-d:使用指定时间刷新文件的时间属性
touch -d “2018-3-25 12:10:30” abc
-r: 使用指定文档的时间属性刷新另一个文档的时间属性
touch -r aaa.txt 12:10:30
cat 打印文件内容到显示终端
-n:打印内容行号
cat -n process_bar.c
tac 按行逆序打印文件内容(知道就行)
more 分页显示文件内容
空格 :向下翻页
回车:向下滚动一行
q:直接退出
less 分页 显示文件内容
f/空格/pagdown 向下翻页
b pagup 向上翻页
上下箭头/j/k 上下按行滚动
q:退出
/string 向下匹配string字符串
/? 向上匹配string字符串
n 匹配下一个
head 显示文件的前10行数据
-n:指定显示前n行数据
head -n 1 process_bar.c
tail 显示文件末尾10行数据
-n:指定显示文件末尾n行数据
tail -n 1 process_bar.c
只显示文件第10行?
|:管道符
连接两个命令,将前边的处理结果交给后边的命令
head -n 10 process_bar.c | tail -n 1
-f:一直刷新显示文件末尾的新数据(查看日志信息)
压缩/解压缩命令:
zip/unzip (zip abc.zip abc)
gzip/gunzip
bzip2/bunzip2
tar
-c:打包
-x: 解包
-z: 打包/解包同时进行gzip格式压缩/解压缩
-j:打包/解包同时进行bzip2格式压缩/解压缩
-V:显示详细打包/解包信息
-f:指定包名(这个选项通常放在最后一个)
tar -czvf a.tar.gz a.txt
tar -xzvf a.tar.gz
系统时间日期命令:
date 查看系统当前日期时间
+ '*Y-%m-%d %H:%M:%S’以指定格式显示时间
-s:“2019-3-8 21:24:43”设置系统时间
cal 查看日历
-3:显示附近3个月
-y: 显示全年
-j: 以day of year 显示日历
匹配查找命令:
grep 打印文件中指定字符串匹配行的内容
grep ‘zhang’ passwd
-i:忽略大小写
-v:反向匹配,匹配不包含指定字符串的行
-R:递归对指定目录下的所有文件内容进行匹配
grep -R ‘root’ ./
find 在指定的目录下查找文件
-name :通过文件名查找文件
find ./ -name “passwd”
-type:通过文件类型进行查找
find ./ -size +10k
find ./ -size -10k
-size +/-[c b w k M G]
-mtime -atime -ctime 通过时间查找文件
+/-n 以天为单位
-mmtime -amin -cmin 通过时间查找文件
+/-n 以分钟为单位
-exec:连接一个命令对查找到的文件进行操作
find ./ -mtime -1 -exec rm -rf ‘{}’ ;
其他命令:
man 手册命令
man 命令名称(ls)
stat 查看文件详细信息
stat filename/
文件的时间
修改数据流向(输出重定向),追加到末尾
将原有数据清空,新的加进去
bc 计算器
| 管道符
连接两个命令,将前边的处理结果交给后边的命令
head -n 10 process_bar.c | tail -n 1
ifconfig 查看网卡信息
shell
权限命令:
su
umask :0002
Umask -S 就能变成我们能看懂的
实际权限=给定权限&(~umask)
如果面试问一个问题:现在把权限掩码设置成033(默认0002)现在文件权限或所属组是什么权限?
033 取反744 所属组就是可读
chmod:修改文件的权限 o+w给其他用户增加一个可写权限
o-x去掉这个权限
0777
chgrp:修改文件所有者:chown username filename
chgrp:修改文件所属组:chgrp groupname filename
同一项目中可以创建文件,但是不能删除别人的文件怎么办?
占滞位:chmod +t command/给目录添加一个粘滞位权限
设置粘滞位的特点:具备可读可写权限,其他用户可以在目录中创建文件,但是不能删除别人的文件
useradd:(root下)添加用户
-m 创建默认目录
userdel
-r:清除一切
passwd:修改密码
常用命令: ps
kill
ipcs
ipcrm