linux设计思想-一切皆文件;
区分大小写;
一、ll或者ls -l[a] :查看目录详情,如下:
-a 会把隐藏文件也显示出来
-h 将文件大小显示成容易观察的格式
ll /home/z* 将home下以z开头的文件列表展示(只展示文件,不展示文件夹;展示指定路径下及下级所有目录)
total 为文件总数
在上图中第一列数据解析:
第一列总计10个字母,第一个字母为文件类型:
‘d’开头的:目录(文件夹)文件;
‘-’开头的:普通文件,如txt、pdf、html等;
‘c’开头的:字符设备文件,通常在dev下,进行设备读取或者设备交互时才会被使用;如打印机、U盘等
‘l’(symbolic link)开头的:链接文件,快捷方式(软连接:源文件删除则不可用);
“s”(socket)开头的:套接字文件,一般在 /var/run/下,用于进程之间的网络通讯;
‘p’(pipe)开头的:管道文件,只要用于进程间的通讯--个人感觉有点像java中的stream,如进程A结束之后直接将结果当做进程B的输入;--如命令中的竖线‘|’;
第二到第十列为文件权限:
9个字符分成三组;
前三个表示此文件的属主对文件的权限;
中间三个表示比文件属主所在组对文件的权限;
最后三个表示其他用户对此文件的权限;
rwx、- 分别含义及对应的权限数字
r:可读权限; 4
w:可写权限; 2
x:可执行权限;1
-:无权限; 0
在上图中第二列数据解析:
被引用的连接数(具体是硬链接还是软连接TODO);
在上图中第三、四列数据解析:
第三列:用户
第四列:用户组
在上图中第五列数据解析:文件大小-字节数
在上图中第五列后数据解析:创建/最后修改时间、文件名称
二、规范目录及功能介绍
三、文件命名
四、绝对路径和相对路径
上图表示:root用户在(@)本机(localhost)的跟目录下(/)
五、操作系统:
六、命令
ctrl+l 效果等同于clear:清理屏幕
pwd:显示所在目录
exit:退出,退出(切换的)用户
mkdir :创建目录(文件夹);-p:创建多级目录-递归创建
touch:创建文件;如果文件已经存在,则只会修改问见的最后修改时间;
rm : 删除文件;-f:强制;-r:递归删除;-rf:强制递归删除-慎用;
mv :如果要移动文件到上级,可以使用..或者绝对路径;
less:需要‘q’退出;
tail -fn 20 test.txt :后20行的动态查看;
echo aa >>test.txt :追加aa到test.txt文件中;
echo aa >test.txt :覆盖aa到test.txt文件中-慎用,会将原始内容全部替换成aa;
grep -i aa test.txt :不区分大小写查询aa在test.txt中出现的行;
grep -i [a-z]a test.txt : 以a-z开头a结尾的数据;
下三张图基本不用;
--------------------------------------------------------------------------------------------------------------------------------
tar:压缩文件时,可以将多个文件同时压缩到一个压缩文件中,直接使用空格隔开;
tar -cvf 压缩文件名 被压缩文件1 被压缩文件2
七、系统级命令
如果home文件中有域名,可以使用域名来链接
八、用户及权限相关
su - 用户名: 切换用户,root切换到其他用户不需要密码;
sudo 时要输入的密码为登入用户的密码,不是root用户的密码;(todo 待验证)
九、定时
反引号为命令符,ESC下边的按键
十、系统信息
uname -r 可以查看系统内核
十一、软件安装
tomcat、nginx等
TODO:
nginx
问题:
一个用户可以同时属于多个组吗?
-可以有附加权限组;
crontab中日和周的如果出现错误怎么处理呢?