Linux基础命令-文件与目录
Linux基础命令-文件与目录
参考:《鸟哥linux私房菜》五-七章,17/12/5复习,18/01/15复习
- 文件权限
rwx421:用户,用户组,其他
umask查看默认权限:0002,即对其他用户拿掉了w权限,也可直接umask -S显示具体权限
chgrpchown zuo:zuo filename
chmod +664 testfile//-rw-rw-r--
chmod u=rwx,go=rw testfile
chmod +x testfile
+号是添加权限,无加号直接指定权限,-R 递归
对目录来说:r可打印,w可修改目录下任何文件,x可进入成为工作目录
eg: cp dir1/file dir2/ 需要的最少权限:dir1 x;file r;dir2 w,x
- 目录操作
cd
pwd
mkdir:-p递归创建 -m指定权限
rmdir
ls:-R 递归列出所有文件; -S按从大到小; -t 时间从新到旧 ;-r 反向
cp:-p 复制属性;-r 递归复制 ;-d复制链接文件;-a 相当于pdr;-u 新的才复制;-l创建硬链接,-s软链接
rm -rf /
- 文件内容
cat:-n行号;-A显示看不见的字符
tac
nl
more
less:最常用
head -n 10;-10只打印不包括后面10行
tail -n 10;-10不包括前面10行
非纯文本类型:od -a,默认读取; c ,d,o,x,ascii,十进制,八进制,16进制
file 查看文件类型
- 文件时间
mtime modification time内容更改
ctime status time状态更改,如权限,属性
atime access time文件内容被读取
查看时间:ll --time=ctime filename;默认为mtime
更改时间:touch -m/a 更改修改时间/访问时间为当前时间
-d ‘’2 days ago‘’;-t 指定时间,[[CC]YY]MMDDhhmm[.ss]
ctime不可修改,不能复制
- 文件隐藏属性
chattr + a filename,只能增加内容;+i,不能删改
lsattr
- 文件特殊权限
- SetUID
-rwsr-xr-x 1 root root 27832 Jun 10 2014 /usr/bin/passwd当s出现在文件所有者的x权限上时,称为SUID
仅对二进制程序有效;执行者需要有x权限;临时获得拥有者权限,如普通用户修改passwd
- Set GID
当s出现在用户组的x权限上时,称为SGID
可用于目录;执行者需要有x权限;临时获得用户组的支持
- Sticky Bit(SBID)
drwxrwxrwt 9 root root 4096 Dec 5 01:46 /tmp当t出现在其他的x权限上时
仅用于目录;使用者需要有wx权限;仅有本用户和root能删除该文件
可用chmod设置上述三种权限421,即7777;另外大写S或T表示文件拥有者也无x权限,即空命令
- 环境变量
echo $PATH
PATH="$PATH":/opt/typora
- 查找
- which
根据PATH查找执行文件
- whereis
数据库中查找文件
- locate
updatedb更新数据库;可模糊匹配;-i 忽略大小写;-r 正则式匹配
- find
find |PATH| |OPTION| |file|
- 时间参数
-mtime n,n天前的那天
-mtime +n,n天之前(不含n天)
-mtime -n,n天之内(含n天)
-newer file,比file更新
- 用户有关
-user name
-group name
-nouser
- 权限名称有关
-name filename
-size +/- 100c;c为bytes,k为KB,M为MB,G为GB
-type TYPE;TYPE有如下几种:f一般文件,b/c设备文件,d目录,l链接文件,s套接字,p管道
-perm mode;权限正好为mode的文件;-mode超集,必须全部包括mode;+mode子集,包含任一mode
-exec 加其他命令
find /tmp -newer test1 -exec ls -l {} \;
- 目录配置
FHS标准
第三方软件一般在/usr/src 或/opt
内核源码在/usr/src
/ 根
/bin - 用户二进制文件
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp8/sbin
通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
/etc - 配置文件
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。
/dev - 设备文件
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0/proc - 进程信息
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。/var - 变量文件
这个目录下可以找到内容可能增长的文件。包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);/tmp - 临时文件
包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。/usr - unix software resourse
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。/home - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita/boot - 引导加载程序文件
内核的initrd、vmlinux、grub文件位于/boot下。例如:initrd.img-2.6.32-24-generic/lib - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld或lib.so.*例如:ld-2.11.1.so,libncurses.so.5.7/opt - 可选的附加应用程序
包含从个别厂商的附加应用程序。/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,windows也通常挂在在这里/srv - 服务数据
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
练习:建立两个账号tmp1和tmp2,支持同一个用户组project,需要共同拥有/srv/ahome目录的开发权,且该目录不允许其他用户访问
//创建用户及用户组
[root@localhost /]# groupadd project
[root@localhost /]# useradd -G project tmp1
[root@localhost /]# useradd -G project tmp2
//建立目录及权限
[root@localhost /]# cd /srv
[root@localhost srv]# mkdir ./ahome
[root@localhost srv]# chgrp project /srv/ahome
[root@localhost srv]# chmod 770 ahome
[root@localhost srv]# ll -d ahome
drwxrwx--- 2 root project 4096 Dec 5 05:36 ahome
//tmp1创建文件但是tmp2不能访问
[root@localhost srv]# su tmp1
[tmp1@localhost srv]$ cd ahome/
[tmp1@localhost ahome]$ ls
[tmp1@localhost ahome]$ touch testfile
[tmp1@localhost ahome]$ su root
Password:
[root@localhost ahome]# su tmp2
[tmp2@localhost ahome]$ ll testfile
-rw-rw-r-- 1 tmp1 tmp1 0 Dec 5 05:38 testfile//注意tmp2用户相当于其他,只有r权限
//添加SUGID权限
[tmp2@localhost ahome]$ su root
Password:
[root@localhost ahome]# chmod 2770 /srv/ahome
//验证
[root@localhost ahome]# su tmp1
[tmp1@localhost ahome]$ touch file
[tmp1@localhost ahome]$ ll
total 0
-rw-rw-r-- 1 tmp1 project 0 Dec 5 05:39 file//注意用户组变为project
[tmp1@localhost ahome]$ su root
Password:
[root@localhost ahome]# su tmp2
[tmp2@localhost ahome]$ ll
total 0
-rw-rw-r-- 1 tmp1 project 0 Dec 5 05:39 file
Linux基础命令-文件与目录的更多相关文章
- Linux 基础命令及基本目录
Linux 基础命令及基本目录 一.网卡 1.网卡配置文件路径 /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件: TYPE=Ethernet # 以太 ...
- Linux 基础——处理文件与目录的命令
继续第三天学习,每天下班后积累一点点,始终相信厚积薄发. 一.处理文件的命令 touch dest_file:在当前目录下创建指定的文件. cp source dest:将指定的猿文件复制到目标文件, ...
- 『学了就忘』Linux基础命令 — 19、目录操作的相关命令
目录 1.ls命令 2.cd命令 (1)绝对路径和相对路径 (2)cd命令的简化用法 3.pwd命令 4.mkdir命令 5.rmdir命令 常用目录操作的相关命令: ls命令 cd命令 pwd命令 ...
- linux常用命令--文件和目录
cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目 ...
- Linux基础命令-有关于目录的命令
1. 查看帮助: [root@oracle ~]# man cd //查看 cd 指令的帮助文档 2. 显示当前工作目录: [root@oracle ~]# pwd/root 3. 列出当前目录下的内 ...
- linux基础命令-文件查看类命令cat/tac/more/less/tail/head
cat 查看文本文件内容 -b :给每一行编号不包括空白行 -n:给所有行编号 [root@host01 tmp]# cat -An /root/anaconda-ks.cfg # Kickstart ...
- Linux基础命令和文件权限
Linux命令与文件权限 Linux基础命令 reboot 重启 cd 切换目录 cd .. 回到上一级目录 cd ~ 回到主目录 cd / ...
- linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录
转自:http://blog.csdn.net/snlying/article/details/6184102 Linux系统中scp命令的用法. scp就是secure copy的简写,用于在lin ...
- Linux命令——文件和目录管理
Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...
随机推荐
- 网页seo
两大 网站布局和代码编辑 网站结构布局优化 1.控制首页链接数量 100以内2.偏平化的目录层次 百度蜘蛛点三次 超过三次,找不到结果. 导航SEO优化导航最好是文字 图片最好都加上 title 和a ...
- php特级课---3、常用的网站加速技术有哪些
php特级课---3.常用的网站加速技术有哪些 一.总结 一句话总结:网站加速技术是一组技术的组合,来提升网站的速度 1.Squid代理缓存技术 2.页面静态化缓存 3.Memcache 4.Sphi ...
- 通过Intent 打开系统级应用
众所周知,各个手机厂商由于对Android 原生系统定制的原因,会造成系统级应用packname 和activityname 不同的现象,就拿时钟软件来说,魅族2的activityname 是[com ...
- cassandra——可以预料的查询,如果你的查询条件有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现
cassandra的索引查询和排序 转自:http://zhaoyanblog.com/archives/499.html cassandra的索引查询和排序 cassandra的查询虽然很弱,但 ...
- Intellij IDEA导入Github中的MAVEN多模块项目【保持项目样式】
刚上手用IntelliJ IDEA导入github项目,我尝试了多种导入方式.因为我的有父子模块,导入后整个项目的格式就变了. 然后我多次尝试,找到了一个更好的导入方式,可以保持MAVEN项目的格式. ...
- Collection集合存储自定义对象练习
public class Student { private String name; private int age; public Student() { super(); } public St ...
- 马拉车——Manacher一篇看上去很靠谱的理解(代码显然易懂)
由于回文分为偶回文(比如 bccb)和奇回文(比如 bcacb),而在处理奇偶问题上会比较繁琐,所以这里我们使用一个技巧,在字符间插入一个字符(前提这个字符未出现在串里).举个例子:s="a ...
- uva11134 - Fabled Rooks(问题分解,贪心法)
这道题非常好,不仅用到了把复杂问题分解为若干个熟悉的简单问题的方法,更是考察了对贪心法的理解和运用是否到位. 首先,如果直接在二维的棋盘上考虑怎么放不好弄,那么注意到x和y无关(因为两个车完全可以在同 ...
- Python函数-all()
all(iterable) 作用: 如果iterable的所有元素不为0.''.False或者iterable为空,all(iterable)返回True,否则返回False:函数等价于: def a ...
- 高性能服务器架构 的几个注意点 (High-Performance Server Architecture)
High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:htt ...