linux 文件管理操作入门

mkdir -p /root/kali/bp/shell  一路创建文件夹直到生成文件夹shell,中间没有kali文件夹的话也会自动创建生成

tar解压缩

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf  /tmp/etc.tar(生成文件)  /etc(源文件) <==仅打包,不压缩!
[root@linux ~]# tar -zcvf  /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf  /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩

tar -zxvf  /tmp/etc.tar.gz    /dirpath  解压etc.tar.gz到根目录下的dirpath文件夹中

除/dirpath下的test外,其余全部打包:   tar -zxvf /tmp/etc.tar.gz /dirpath  --exclude=/dirpath/test

tar -jxvf /tmp/etc.tar.bz2    解压etc.tar.bz到当前文件

tar -ztvf /tmp/etc.tar.gz       查看gz文件里面的内容

注意:  -c 增加 -x解压   -t查看  不能同时在一个命令中 如  tar -cxf filename是错误的


Linux挂载windows共享文件

首先在Windows的某个盘下建立一个APP文件夹,右键APP文件夹点击属性,再选择共享标签,然后点击共享按钮,点击那个下拉框,选择其中一个用户,最好是有密码的,然后确认共享,至此Windows端工作已完成。现在进入linux虚拟机

首先   mkdir /mnt/APP(用来挂载Windows的共享文件夹)

接着   mount.cifs //你的ip/APP /mnt/APP -o -user=你的账户,-pass=你的密码    //如果提示没有找到mount.cifs,则使用yum install cifs* -y(-y是指确认安装,则安装过程中无需再输入y确认安装)。如果提示错误码-13,或者未授权,很可能是因为你用户名或者密码有错。如果确认没错但是还提示有错,可能就是因为编码问题,在mount.cifs命令的最后面加上,iocharset=cp936然后回车

现在   如果你已经在Windows共享文件夹创建有内容,那么在linux 中ls /mnt/APP应该就有内容了


统计当前文件夹有多少文件

ls -l|grep '^-'|wc -l   (^-是指以-开头,即文件类型为普通文件,而不是文件夹)



wc命令统计行数字数: wc -l/-w/-c filename 统计行数/字符数/字节数

stat查看文件具体信息:stat filename

cut命令提取文本: 例子 cut -d: -f1 /etc/passwd  以:为分隔符取第一列

diff比较多个文件是否相同:例子 diff -c/--brief a.txt b.txt前者输出不同之处,后者只输出比较结果

touch命令:touch -a/-m/-d updatetime filename 设置访问时间,修改时间,同时修改以上两者

通配符:ls -l /dv/sd? 指sd+一个字符,ls -l /dev/sd*指sd+零个或多个字符

存取时间/无法对文件进行修改,如果是文件夹则只能修改子文件,无法新建或删除。除去该权限只需把加号变成减号,查看隐藏权限使用lsattr filename)

文件访问控制列表setfacl:例子 setfacl -Rm u:bp:rwx /root 授予bp用户读写执行/root的权限,-R 指对文件目录递归m是指普通文件,查看文件访问控制列表规则 getfacl filename

字符串替换:cat a.txt |tr [a-z] [A-Z]将a.txt的内容转换成大写输出到屏幕上

文件隐藏权限chattr:charttr +a/+A/+b/+i finename (只允许追加不允许删除或覆盖/禁止修改晚间最后访问时间/禁止修改文件或目录


find的基本使用

find path -option [ -print ] [-exec/-ok command] {} ; (注意 -exec与-ok差不多,只是-ok会在执行时询问确认,还有就是{}和;之间有一个空格)

示例:

find /etc -name  filename

-perm(权限) 777

-mtime/-atime/-ctime +n/-n根据修改/访问/创建时间来访问,+n代表n天前,-n指n天内

-nouser -nogroup

-type d/b/c/p/l/f  文件类型

-newer f1 !f2      -newer f1第一个值比f1文件新但是比f2旧,第二个指比f1文件新的

-depth n 向下搜索n层

示例

find /etc -name "passwd*" -exec grep "bp" {} ;查询是否有叫做bp的用户





原文地址:https://www.cnblogs.com/biaopei/p/7730682.html