linux的命令选项都可以同时叠加多个
ls
语法:ls [选项][目录或文件]
功能:对于目录,命令列出该目录下所有子目录与文件。对于文件,列出文件名以及其他信息
常用选项:
-a 列出目录下所有文件,包括.开头的隐藏文件
-d 将目录像文件一样显示,而不是显示其下的文件。如:ls -d指定目录
-i 输出文件的i节点的索引信息。如ls -ai 指定文件
-k 以k字节的形式表示文件的大小 ls -alk
-l 显示总数等更多文件详细信息
-n 用数字的UID,GID代替名称
-F 在每个文件名后附加一个字符说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)(目录类型识别)
-r 对目录反向排序
-t 以时间排序
-s 在文件名后输出文件大小(大小排序,找到最大的文件)
-S 按大小排序
-R 列出所有子目录下的文件(递归)
-1 一行只输出一个文件
文件=内容数据+属性数据
ls -l,可以简写为ll
第一列为文件的种类及权限,-普通文件,d目录,c字符设备,b块设备。紧跟的10个字符分为3块,每3个一块,表示文件的属主、属组及others权限-表示无权限
第二列表示硬链接个数,1表示无硬链接
第三列为文件的属主
第四列为文件的属组
第五列文件的大小,单位字节
第六列创建时间或最后一次访问时间,如果时间太远,直接显示年份
文件颜色对应关系:
ls -a -1 ,一行只输出一个,包含隐藏文件,以.开头的文件为隐藏文件,也可以这样创建文件,可以简写为ls -al
ls -i,显示文件的inode编号
ls -Sl,按大小排序
通配符*
clear
清空屏幕
pwd
语法:pwd
功能:显示用户当前所在目录
常用选项:
无
cd
Linux系统中,磁盘上的文件和目录背组成一颗目录树,每个节点都是目录或文件
文件夹一定是路径上的节点,而文件或空目录一定是叶子结点
语法:cd目录名
功能:改变工作目录,将当前目录改到指定目录下
举例:
cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
/表示路径分隔符,root是root管理者的根目录,/是服务器的根目录
whoami,显示当前用户
cd+.进入当前目录,无变化
cd+…,回到上级目录
每个文件或文件夹的目录正反走都是唯一的,可以用路径正着定位一个文件,叫绝对路径,一般在正式场合,如配置文件
以当前路径为参考点,找某个文件,是相对路径,比较简单,日常操作
cd+~,回到当前用户的根目录
cd+/,回到根目录
cd [-],回到上一次所在的目录
touch
语法:touch[选项]…文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
常用选项:
-a 或-time=atime或-time=access或-time=use只更改存取时间
-c 或no-create,不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-f 此参数将忽略不予处理,进负责解决BSD版本touch指令兼容
-m 或-time=mtime或-time=modify 只更改变动时间
-r 把指定文档或目录的日期时间,同同设成和参考文档或目录的日期时间相同
-t 使用指定的日期时间,而非现在的时间
stat [文件],显示文件的属性和acm时间
Access时间 : Access的英文意思为访问 , 所以Access时间代表了最近一次被访问的时间 , 更准确的说 , 当我们读取该文件内容后 , Access时间就会被更新
Change时间 : Change的英文意思是改变 , 其实这里的Change主要指文件的状态或者属性等信息的改变
Modify时间 : Modify的英文意思仍然是改变 , 不过Modify改变主要针对的是文件内容的改变句号,vim等命令
mkdir指令
语法:mkdir[选项]dirname…
功能:在当前目录下创建一个名为“dirname”的目录
常用选项:
-p,–parents可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统自动建立好那些尚不存在的目录,即一次可以创建多个目录
安装tree命令查看树状的d1文件
yum install -y tree
tree [文件夹]
rmdir && rm
rmdir是一个与mkdir相对应的指令,mkdir是建立目录,redir是删除命令
语法:rmdir[-p][dirname]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p当子目录被删除后如果父目录也变成空目录的话,就连父目录一起删除
rm命令可以同时删除文件或目录
语法:rm[-f-i-r-v][dirname]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),也直接删除
-i 删除前逐一询问确认,y/yes或n/no
-r 删除目录及其下所有文件,r是递归的意思
linux没有回收站,删了很难找回
rm -rf * 通配符匹配全部删除
man
linux的命令参数很多,不可能全记住,可以通过查看联机手册获取帮助。
语法:man[选项]命令
常用选项:
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节都显示出来,比如man,printf缺省从第一章开始搜索,直到就挺住,用a选项,按下q退出,继续往后面搜索,直到所有章节搜索完毕
手册分为8章
1.普通命令
2.系统调用,如open,write之类(需要调什么头文件之类)
3.库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
4.文件的格式,如passwd,就会说明文件各个字段的含义
5.给游戏留的,各个游戏自定义
6.附件还有一些变量,向environ这种全局变量,有说明
7.系统管理用的命令,只能由root使用,如ifconfig
重点关注前三类
安装man手册指令完整版
yum instrall -y man-pages
cp
语法:cp[选项]源文件或目录 目标文件或目录
功能:赋值文件或目录
说明:cp指令用于赋值文件或目录,同时指定两个以上的文件或目录,最后一个目录时已存在的,则就会把前面的所有文件或目录复制到此目录中,若同时指定多个文件或目录,最后目录并非一个已存在的,出现错误信息
常用选项:
-f 或 -force 强行复制文件或纹路,不论目的文件或目录是否已经存在
-i 或 -interactive 覆盖文件之前先询问
-r 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,一律视为普通文件处理
-R 或 -recursive递归处理,指定目录下的文件及子目录一并处理
先创建一个.c文件并用自带的记事本打开
没有nano可以安装
yum install -y nano
crtl+x退出,y确定后回车退出
拷贝这个文件到根目录
拷贝到上级目录
拷贝含有文件的目录,用递归
mv
mv命令是move的缩写,可以用来移动文件或将文件改名,是常用命令,经常用来备份文件或目录
语法:mv[选项] 源文件目录 目标文件或目录
功能:
1.视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv将此文件重命名或将其移至一个新的目录中
2.当第二参数是文件时,完成文件重命名,此时源文件只能有一个(也可以是源目录名),将所给的源文件或目录重命名为给定的目标文件名
3.当第二个参数是已存在的目录名,源文件或目录参数可以有多个,mv将各参数指定的源文件均移至目标目录中
常用选项:
-f froce 强制的意思,如果已经存在,不会询问直接覆盖
-i如果存在,询问是否覆盖
移动hello.c到上级目录
对已存在的文件改名
移动文件夹和文件操作没区别
目前不建议使用此功能
将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
mv -i ~/.trash/$@ ./
}
trash() {
mv $@ ~/.trash/
}
cat
语法:cat[选项][文件]
功能:查看目标文件的内容
常用选项:
-b 堆非空输出行编号
-n 堆输出的所有行编号
-s 不输出多行空行
反着打印,这个功能可以帮助取后几行内容
echo
可以打印输入的内容,也可以重定向内容到文件,不存在就创建文件并写入内容
同样文件可以更改内容
两个箭头追加重定向文本