[Linux]基础操作命令
参考书本《Linux命令行与shell脚本大全》复习和查询用,别的用到了在慢慢补充
遍历目录
目录路径
绝对路径
cd /usr/bin
相对路径
cd Documents
返回主目录
cd
其他实用命令
显示当前目录
pwd
当前目录的父目录…
单点表示当前目录(在下面的文件复制当中很常用)
cd ../Downloads
文件和目录列表
ls及其参数
显示该目录下文件和目录,列表按字母排序,如果是彩色终端仿真器会用颜色区分不同类型的文件
ls
-F参数区分文件和目录,目录名后会加上/,可执行文件后会加上*
ls -F
-a参数会把隐藏的文件也显示出来(通常以点号开始)
ls -a
-R参数,递归地列出该目录下包含子目录中的文件
ls -F -R
多个参数还可以合并到一起
ls -FR
-l参数显示长列表展示文件信息:类型,权限,硬链接总数,属主用户名,属组组名,文件大小(字节为单位),上次修改时间,文件名或者目录名
下面这个组合很实用
ls -alF
-d只列出目录本身的信息
ls -Fd *Scripts
-i查看文件的inode编号
ls -i *data_file
过滤器
命令行参数后可以加过滤器来过滤文件
?表示一个字符,*表示0个或任意多个字符,[ai]表示可以匹配a或者i,[a-i]表示可以匹配a-i的字母,[!a]表示不匹配a
ls -l my_scri?pt
ls -l my*
ls -l my_scr[ai]pt
ls -l f[a-i]ll
ls -l f[!a]ll
使用tree工具
使用tree工具可以用一种美观的方式(树形)展示目录,tree工具不一定默认装在linux发行版里,如果没有需要自行安装
archlinux安装tree
sudo pacman -S tree
使用tree
tree Small_Dir
处理文件
创建文件
创建文件/改变文件修改时间,加-a只改变文件访问时间。(ls只有-l查看修改时间,加上参数–time=atime查看访问时间)
touch test_one
ls -l test_one
touch -a test_one
ls -l --time=atime test_one
复制文件
cp A B 复制A到B,不会有覆盖提醒
cp test_one test_two
加入参数-i,强制shell询问是否需要覆盖已有文件
cp -i test_one test_two
如果是复制到目录,最后加上/,避免把复制到目录的操作变成创建一个和目录同名的文件的操作
可以相对路径也可以绝对路径
cp -i test_one Documents/
复制到当前目录可以直接用单点表示,适合源对象名字很长的操作(不过最好pwd看看现在在哪里)
cp -i /etc/NetworkMannager/NetworkManager.conf .
-R递归复制整个目录的内容
cp -R Scripts/ Mod_Scripts
cp命令也可以使用通配符,下面命令表示把所有script结尾的文件复制到Mod_scripts/目录下(区分文件和目录!)
cp *script Mod_scripts/
制表健自动补全
给足够信息能和其他文件区分开就像,按两下就会列出所有把 已经输入的字母 作为开头的 文件名
链接文件
符号链接:链接文件独立,内容不同,大小不同,文件的inode编号不同,只是单纯指向原来文件而已,使用ls -l查看文件信息会有箭头指向原来的文件。
要尽量避免创建软链接的软链接,这会造成链接链混乱,容易破裂
ln -s data_file sl_data_file
硬链接:创建独立的虚拟文件,包含原文件的信息及位置,是同一个文件,只能对同一存储媒体的文件创建硬链接
ls code_file hl_code_file
重命名文件
重命名fall为fzll
mv fall fzll
把fzll移动到Pictures/下
mv fzll Pictures/
也可以直接移动整个目录及其内容,下面指令的效果相当于只是改变了目录的名字,里面内容没有变,也不需要加/
mv Mod_Scripts Old_scripts
删除文件
-i参数会在删除前询问
rm -i fall
-f参数可以免受过多提示符的打扰,但是小心点
rm -f f?ll
处理目录
创建目录
使用mkdir创建目录,区分使用touch创建文件
mkdir New_Dir
如果要同时创建多个目录和子目录需要加入-p参数,-p可以根据需要创建缺失的父目录。
mkdir -p New_Dir/Sub_Dir/Under_Dir
删除目录
rmdir删除空的目录
rmdir New_Dir
rm加上-r参数递归删除目录当中的文件和它本身,但是一个确认可能很慢
rm -ir Small_Dir
使用-f参数直接诶删完,没有提示,方便但是危险,如果是超级用户权限小心使用
rm -rf Small_Dir
查看文件内容
查看文件类型
file文件可以直接查看文件类型,如果有链接会告诉你链接到哪个文件了,如果是个二进制可执行文件可以告诉你面向哪个平台编译,需要那些库。
file New_Dir
查看整个文件
cat命令
cat命令是显示文本文件中所有数据的得力工具
cat test1
-n参数给所有行加上行号,-b参数只给有文本的行加上行号,如果不想要制表符可以加入参数-T(之后会用^I代替制表符显示)
cat -n test1
cat -b test1
cat -T test1
more命令和less命令
more命令会在显示完1页后停下来,使用空格或者回车可以继续浏览,下面有more标签显示当前文本的进度
more /etc/bash.bashrc
less命令是more的升级版,实现文本文件中前后翻动,还可以进行搜索之类的操作
查看部分文件
tail查看文件末尾,-n参数可设置查看多行,默认10行,也可以直接-加数字
tail -n 5 log_file
head查看文件开头,也可以-n设置查看多少行
head -5 log_file