关于Linux命令与shell脚本学习记录(1)

文件与目录列表

ls -F 能轻松区分文件和目录;

ls -a 把隐藏文件和普通文件及目录一起显示出来;

ls -F -R这个不仅有ls -F功能,后加-R是一个递归选项(使文件内的子目录显示);

ls -l 长列表参数,这样能看见文件类型,权限,硬链接,组名,用户名但是没有inode;

ls -l xx?xx  其中问号是单个字符的模糊搜索;

ls -l xx*xxx 这个命令里*可以在操作数前,中,后。*表示字符串模糊搜索;

ls -l xx[ai]或者ls -l xx[a-i]   此命令搜索文件可做限定查找,第一个可限定查找xxxa或者xxxi,第二个类似于Verilog的拼接符{}检索a至i之间的字符;

处理文件:

//创建文件、

touch xxx 创建文件

再次touch同一个文件会更新文件更新日期但是不会改变文件内容

如果只想改变访问时间

可以-a参数     touch -a xxx

那么接下来要使用ls 命令查看最近访问时间

可以用ls -l --time=atime xxx

//复制文件、

cp xxx xxxx此命令需要两个参数源对象和目标对象,在这里cp命令使xxx文件复制到xxx,xxxx为全新文件但是内容和xxx相同

这个操作有个弊端就是shell不会提示目标对象是否已经存在,最好加上-i选项强制shell询问是否需要覆盖已有文件

cp -i xxx xxxx

cp -R xxx/ xxxx 这条命令可以递归复制整个目录

//链接文件

链接文件分为两种分别是符号链接和硬链接

符号链接就是一个实实在在的文件

ln -s xxx sl_xxx

此处新链接的文件sl_xxx为全新独立文件我们可用通过ls -i来查看inode码

硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。

ln xxx hl_xxx 可以简单记为符号链接ln加-s选项而硬链接不用加选项直接链接,这个时候使用ls -li *xxx可以看到xxx和hl_xxx的inode码是一样的,这是因为它们终归是同一个文件。

//重命名文件

在Linux里重命名文件称为移动moving。mv命令

mv fall fbll 将fall 重命名为fbll

也可以使用mv来移动文件的位置 mv fbll xxx/

同样也可以使用mv来移动整个目录及其内容

接下来要记录的就是最危险的操作,删除文件

//删除文件

rm -i fall这个的-i与之前使用复制命令cp 时一样强制shell询问,不然太果断容易造成不必要的损失

rm: remove regular empty file 'fall'?当shell询问这句话得时候只需要回答y/n就ok了

rm -f这个参数可以强制移除,小心为妙。

//处理目录

mkdir New_xxx 这个命令很简单很好记mk——make

如果需要同时创建多个目录和子目录呢?需要加入-p参数

mkdir -p New_xxx/sb/sbb/sbbbb结了就是这样

操作完成后可以试试用递归显示文件 ls -R New_xxx

如果需要删除目录的话使用的命令就不是rm了,因为删除目录是一个棘手的事情shell为了防止我们捅娄子所以使用新的命令

rmdir New_xxx移除New_xxx目录

但是rmdir默认只允许删除空目录,所以我们可以先用rm删除New_xxx下的文件之后进行rmdir操作

也可以使用-ri选项递归询问删除目录下的文件:rm -ri New_xxx

这样还是很麻烦那么也可以使用经典的删库跑路命令rm -rf 这个命令既没警告信息也没有声音提示,相当爽!

说到这里我们可以用tree工具更加直观的方式展示目录,子目录及其中的文件。

查看文件:

//查看文件类型

file xxx文件类型会有显示,前提是能看懂英语就能明白显示出来的写的是什么。

//查看整个文件

cat xxx

cat -n xxx 加入行号查看;

cat -b xxx 给有文本的行加上行号;

cat -T xxx 不显示制表符;

more 命令会使文件分页显示。

less命令一次显示一屏的文件文本。

查看部分文件:

tail xxx查文件后10行内容,这里可以自己定义查看后几行的文本加入-n参数即可;

tail -n 2 xxx查看xxx文件后两行的内容;

head命令,看这个名字就知道了查看文件前部的内容;
head xxx查看xxx文件前10行内容;

head -5 xxx 查看xxx文件前5行内容;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章