文件与文本操作
Linux下命令在哪个文件夹下
$PATH
给一个数组赋值:
Char buff[100]
Char a[1]=”asd”
Memset(&buff,0,sizeof(buff))
Sprintf(buff,”%s”,a)
修改makefile文件时间:
find ./* -exec touch {} +;
find . -type f -exec touch {} \;
touch *
多文件夹:
find ./ -type f |xargs touch
#date -s 2019/01/01
Touch file
find 查找文件
find -iname [目录] 文件名:在指定目录里面查找指定文件(不指定目录为当前目录)
‘-name filename’ 直接查找该文件名的文件
‘-type filetype’ 通过文件类型查找,filetype 包含了 f, b, c, d, l, s 等
‘d’ 表示该文件为目录;
‘-‘ 表示该文件为普通文件;
‘l’ 表示该文件为链接文件(linux file),
‘b’ 表示该文件为块设备,比如 /dev/sda 就是这样的文件。
‘c’ 表示该文件为串行端口设备,例如键盘、鼠标。
‘s’ 表示该文件为套接字文件(socket),用于进程间通信
find [路径] [参数]
‘-atime +n/-n’ : 访问或执行时间大于/小于n天的文件
‘-ctime +n/-n’ : 写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件
‘-mtime +n/-n’ : 写入时间大于/小于n天的文件
stat 可出文件的时间
在linux下查找文件:
which
whereis
locate
管道符号:
ls /dev | more:在一页中显示所有内容
ls /dev > filenames.txt:用filenames.txt记录ls显示的所有结果
> :创建一个新的txt文件,如果该文件已存在,则覆盖
>>:在已存在的文件后追加新的内容
cat >> friends << "EOF"
> a
> b
> c
> EOF
把接下来输入的内容保存到friends文件里面,当输入EOF时候结束。
程序结果输出到指定文件
iperf3 -s >> /opt/result/udp.txt:附加到文件后面
iperf3 -s > /opt/result/udp.txt
iperf3 -s | tee -a /opt/result/udp.txt:附加到文件后面
iperf3 -s | tee /opt/result/udp.txt
ls 列出文件和目录
\ “根”
-A:列出所有文件,包括隐藏文件
“.XXX”该文件为隐藏文件
-R:显示所有子目录下的文件
--color:可执行文件用绿色,普通文件是白色,目录是蓝色
ls --color=never *.txt > report:不显示文件颜色,将txt记到report中
ls -l:显示文件属性
第一个字母:
‘d’ 表示该文件为目录;
‘-‘ 表示该文件为普通文件;
‘l’ 表示该文件为链接文件(linux file
‘b’ 表示该文件为块设备,比如 /dev/sda 就是这样的文件。
‘c’ 表示该文件为串行端口设备,例如键盘、鼠标。
‘s’ 表示该文件为套接字文件(socket),用于进程间通信。
第二列:链接占用的节点
第三列:所属主
第四列:所属组
groupadd:增加一个用户组
chgrp:更改文件所属组
chgrp [组] [file]
chgrp -R [组] [file]:包括目录内的子文件
chown 更改文件的所属主
chown [ -R ] 账户名 文件名
chown [ -R ] 账户名:组名 文件名
chmod 改变用户对文件的读写执行权限
chmod [-R] xyz 文件名
ls -ld test的第一列
使用数字去代替rwx,r’ 等于4, ‘w’ 等于2, ‘x’ 等于1, ‘-‘ 等于0,‘-rwxrwx—’ 用数字表示就是 ‘770’, 具体是这样来的: ‘rwx’ = 4+2+1=7; ‘rwx’ = 4+2+1=7; ‘- - -‘ = 0+0+0=0
在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644
chattr 修改文件的特殊属性
chattr [+-=][ASaci [文件或者目录名]
‘+-=’ : 分别为增加、减少、设定
‘A’ : 增加该属性后,文件或目录的atime将不可被修改;
‘S’ : 增加该属性后,会将数据同步写入磁盘中;
‘a’ : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;
‘c’ : 自动压缩该文件,读取时会自动解压;
‘i’ : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据
lsattr读取特殊权限
lsattr [-aR] [文件/目录名]
‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出;
‘-R’ : 连同子目录的数据一同列出
cd 进入目录
cd /:进入根目录
cd /usr:回到刚才的上一级目录
cd ..:回到上一级目录
cd ../:到上一级目录
cd ../..:到上二级目录
cd /home/zhu:回到指定目录
cd ~:进入到用户的个人目录,root用户即/root,个人用户即/home/zhu
pwd 现在所在目录
打印出当前所在目录
mkdir 创建新目录
mkdir -p /home/zhujipo/test:一下创建多个新的目录
mkdir test
mkdir .test
rm 删除目录
rm tset -rf
rm -fr test
rmdir:删除空目录
mv 改变文件名和目录名或者移动文件
mv tset new_test
mv .test test
mv -i test test_1:安全选项
cp 复制文件和目录
cp test new_test
cp test /home/test
cp -i test test_1:提示内容是否覆盖
cp 源目录 目标位置 -R:复制原目录里面所有文件和子目录的内容
touch 访问或创建
如果文件存在,改变文件访问时间
不存在则创建
Ln 建立连接文件
ln [-s] [来源文件] [目的文件]:有-s 就是软连接,不加就是硬链接
硬链接:建立icode(索引点),对所链接文件内容不做任何变化(不能跨文件系统,不能建立目录链接)
软链接:当读取链接文件时,该文件会把读取的动作转发到目标文件上,这样就读取到了目标文件
cat 显示文本内容
cat test
若文件过长,cat不会自动分页
cat – n test:加入行号
cat – n test:显示出所有东西,包括特殊字符
tac:显示文本内容(倒着)
more 显示文本内容
more test
自动在一页结束时暂停,等用户按空格键后再继续显示
less 显示内容
可以上翻和下翻,空格键可翻页。‘j’ 键可以向下移动(按一下就向下移动一行),按 ‘k’ 键向上移动。在使用more和less查看某个文件时,您可以按一下 ‘/’ 键,然后输入一个word回车,这样就可以查找这个word了。如果是多个该word可以按 ‘n’ 键显示下一个。另外您也可以不按 ‘/’ 而是按 ‘?’ 后边同样跟word来搜索这个word,唯一不同的是, ‘/’ 是在当前行向下搜索,而 ‘?’ 是在当前行向上搜索
显示文件具体位置
head 显示文件具体行数
head /opt/txt 前十行
head -n 100 /opt/txt前100行
tail /opt/txt 后十行
tail -n 100 /opt/txt后100行
tail -f test:动态显示文件后10行