常用的命令:
pwd #查看当前路径
whoami #查看登陆用户
1.cd
#切换目录
cd /home #进入 '/ home' 目录'
cd .. #返回上一级目录
cd ../.. #返回上两级目录
cd 进入个人的主目录
cd ~user1 #进入个人的主目录
cd - #返回上次所在的目录
croot #切换到第一级目录(加载andriod系统源码中脚本)
2.ls
#查看目录以及文件
ls -l / ll #显示文件和目录的详细资料
ls -F #显目录中文件
ls -a #显示隐藏文件
ls *[0-9]* #显示包含数字的文件名和目录名
3.mkdir、touch与rmdir、rm
#创建目录
mkdir dir1 # 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 #同时创建两个目录
mkdir -p /tmp/dir1/dir2 #创建一个目录树
#删除目录
rmdir dir1 # 删除一个叫做 'dir1' 的目录'
#创建文件
touch filename
#删除文件
rm -f filename
rm -rf dir1 #删除dir1目录以及目录中的内容,递归删除
rm -rf dir1 dir2 ...
4.cat、tac、head、tail、less、more
#查看文件内容
cat filename #正向查看内容
tac filename #反向查看内容
more filename
less filename
head -2 filename #查看文件的头两行
tail -2 filename #查看文件的最后两行
5.mv、cp
#mv 移动/重命名一个文件/目录
mv dir1 new_dir
mv filename newfilename
#cp:复制文件或目录
cp file1 file2 #复制一个文件内容到另一个文件中覆盖
cp dir/* . #复制一个目录下的所有文件到当前目录下
cp -a /tmp/dir1 . #复制一个目录到当前目录下
cp -a dir1 dir2 #复制一个目录中到另一目录中
6.find
#find:文件搜索
简单用法:
find path -参数 匹配条件
-name #文件名
-iname #不区分大小写
-perm #文件权限 x1 w2 r4 777
-user #用户名
-nouser #删除的用户名
-prune #-o 逻辑或
-group #所属用户组
-nogroup #删除的用户组
-mtime #3日前 +3
-atime #5日内 -5
-newer #
-size #字节大小
-type f #普通文件
b #块文件
p #管道文件
c #字符设备
d #目录
l #符号链接
组合用法:
补充:
-exec command {} \; #匹配指定条件后,执行后面语句
find . -name "*.txt" -exec grep -in "linux" 空格 {} 空格\;
仅查询两种后缀文件
find ./ -name "*.java" -o -name "*.xml"
7.grep
#查询文件中符合条件的字符串-包含指定范本的文件
grep -o(only) -E " " #举个例子
grep -参数 str file
-v #输出结果外的其他行
-i #忽略大小写
-n #(编号结束前列)显示匹配每行
-in #组合使用
-e #与-n类似,区别不显示行数,输出指定字符串
-c #统计符合字符串的字数
补充:
-exec command {} \; #匹配指定条件后,执行后面语句
find . -name "*.txt" -exec grep -in "linux" 空格 {} 空格 \; #举个例子
-r 递归查找子目录
查找当前目录及其子目录下面包含匹配字符的文件
grep ‘ab’ * #在当前目录搜索带'ab'行的文件 # grep -r ‘ab’ * #在当前目录及其子目录下搜索'ab'行的文件 # grep -l -r ‘ab’ * #在当前目录及其子目录下搜索'ab'行的文件,但是不显示匹配的行,只显示匹配的文件 # grep -nr BLOG* . # 查找子目录,匹配后输出行号,这里的点表示当前目录 # grep -lr BLOG* . #查找子目录,匹配后只输出文件名
查询不包含某个目录
#grep -R --exclude-dir=node_modules 'some pattern' /path/to/search #不包含txt目录
grep [options] PATTERN [FILE...]即grep [选项] 要查找的字符串 查找范围(查找路径),常用组合为grep -rinl "要查找的字符串" 查找范围,rinl表示如下:
-r 是递归查找,查找所有文件包含子目录
-i 忽略大小写
-n 是显示行号
-l 只列出匹配的文件名
grep -rn “匹配内容”路径
当前目录以及子目录
指定目录下
grep -rsn "xxz"
8.zip、unzip
Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解
zip
-r :recursive向压缩归档文件末尾追加文件(recursive)
zip -r filename.zip dir
#eg:zip -r filename.zip ./*
-d:delete删除压缩文件中的文件(delete)
zip -d filename.zip pro_info.txt
-m:向压缩文件中添加新文件(compress)
zip -m filename.zip 修改点.txt
unzip
直接解压
unzip filename.zip
unzip -d dir filename.zip
9.tar
-c :创建压缩包---create
-f :压缩某个文件,放在命令的最后,--file
-x:解压命令
-u:更新解压包中文件 update
-t:列出 --list
-z: 解压或者压缩tar.gz结尾的
-v:显示所有过程 --view
注意问题:-f :压缩某个文件,放在命令的最后,--file
压缩成tar.gz
tar -cvfz files.tar.gz files
tar -cf files.tar.gz files #最简单使用
tar -cvfz zl799.tar.gz b706_kk_1
解压tar.gz
tar -xvfz files.tar.gz
tar -zf files.tar.gz #最简单使用
更新文件tar.gz
tar -uf files.tar.gz files
追加文件tar.gz
tar -rf files.tar.gz files
10.touch
更新时间节点
下面只有两个参数存在差别,d与f,d表示文件夹,f表示文件。
查找当前目录下,所有的文件夹以及子文件夹,并把所有的文件夹及子文件夹设置成755,包括当前目录
find ./ -type d -exec touch {} \;
查找当前目录下,所有的文件以及子文件夹下的文件,并把所有的文件设置成644
find ./ -type f -exec touch {} \;
修改单个文件的时间为
touch 文件名
11.scp
跨服务器拷贝:
scp newalps.tar.gz user004@192.168.16.4:/media/work2/test/c_N
scp 6572_20201028.tar.gz
12.chmod
一、chmod作用:修改文件、目录的权限
全称:change permissions mode of a file
二、语法:chmod [操作对象] [操作符] [赋予的权限] 文件名
三、操作对象:u 用户user,表现文件或目录的所有者
g 用户组group,表现文件或目录所属的用户组
o 其他用户other
a 所有用户all
四、操作符:+ 添加权限 - 减少权限 =直接给定一个权限
五:权限:1)r 2)w 3)x
六、八进制数字表示权限
r w x
二进制代表100 010 001
十进制代表 4 2 1
例:
rw-的值为4+2=6
rwxr-xr-x的值为755
语法:
1.chmod 755 文件或文件夹名字
2.chmod a=rwx 1.txt=chmod 777 1.txt
chmod u+r,g+w,o+r file