Linux学习笔记-文件属性与目录配置
来源:互联网 发布:金税通网络电子发票 编辑:程序博客网 时间:2024/05/02 01:35
如下笔记是学习自鸟哥的私房菜基础学习篇(第二版)
记录一些比较有用且实用的命令。
命令行模式就是指在登入Linux的时候得到的一个Shell
基础操作命令:
显示日期:
date
显示日历:
cal
计算器:
bc
基础操作快捷键:
命令/文件名补全:
按下Tab键
终止正在执行的命令:
Ctrl+C
退出,相当于exit命令:
Ctrl+D
Man Page命令帮助
在很多时候,我们并不知道某一条命令的用法,需要查看帮助文档。可以使用Man命令查看某条命令的帮助文档。例:
man ls
# 这里会有ls命令的帮助及用法
同步数据到磁盘
在Linux中,读写文件的话,并不会马上存入磁盘,而会暂存在内存中,这样往往在硬盘/U盘写入数据时,或者关机后,发现数据并没有写入成功。所以,在关机或者插拔USB设备时,我们应该先执行一下磁盘同步命令:
sync
关机命令
shutdown -h now # 立刻关机
shutdown -r now # 立刻重启
关机建议,如下操作(首先将磁盘内容同步,sync多执行几次无妨):
sync;sync;sync;reboot
Linux文件属性
用 ls -l 可以列出文件的属性,如下所示:
drwxr-xr-x. 2 warmsheep Warmsheep 4096 Sep 30 20:12 Desktop
第一列drwxr-xr-x.是文件的属性,其余列依次是代表:连接、拥有者、用户组、文件大小、最新修改时间、文件名。
这里主要讲一下文件的属性:
文件主要分为10个属性
d rwx rwx rwx
d是文件类型,r代表文件可读,w代表文件可写,x代表文件可执行
第一组rwx是文件拥有者对该文件的权限,第二组则是文件所属用户组对其的操作权限,第三组是其他人对该文件的权限
例如刚那条文件属性:拥有者对其有完全操作的权限,所属用户组对其有读取和执行权限,其他人对其同样有读取和执行权限。
当然,在更改文件权限时,有时为了方便,可以用数字代替,例如777,实际上这是权限的数字相加。
r(4)w(2)x(1)
更改文件权限:
chgrp 改变文件所属用户组
chown 改变文件拥有者
chmod 改变文件的属性
chgrp -R root /home/Downloads
#将Downloads下的文件所属用户组改为root用户组,-R是包含其下的所有文件和目录
chgrp root /home/Downloads/abc.txt
#将Downloads下的abc.txt文件所属用户组更改为root
chown -R root:root /home/Downloads/abc.txt
#将Downloads下的abc.txt文件拥有者更改为root用户组下的root用户
chmod 777 /home/Download/abc.txt
#将Downloads下的abc.txt文件权限对所有用户完全开放
有时候,我们只需对文件进行增加一项权限,但是却不想更改其本身其余的权限,此时用chmod 777则有些不合适,毕竟已经覆盖了其他权限。我们可以这样操作:
chmod a+x /home/Download/abc.txt #a是对所有人,x是执行权限,这里指对所有人增加执行权限
chmod a-x /home/Download/abc.txt #对所有人去除执行权限
目录的空间规划
之前对目录也没什么概念,不过遵循目录结构规则是一个很好的习惯,就如在windows下统一把软件都安装在Program Files一样,Linux同样也需要有良好的习惯,文件不要乱放。
根据学习后目录空间规划的大致如下(合适本人,仅供参考):
/boot -放置系统启动信息 -200M
/home -放置个人文件,比如音乐、电影、文档等等,个人放置50G差不多了,只有这么多数据
/usr -放置用户安装的软件等 -20G
/etc 50M
/var -记录暂存数据 2G左右
/opt -同样也是用来放置用户安装的软件,或者/usr/local下 -20G
/ -根目录 4G左右
不过硬盘一般都不止这么区区100G,具体可以把剩余空间全规划到/home目录下,也单独做一个其余的分区,用来备份什么的。
分区后,重装系统是装在/下,这样/home下的数据也不会丢失,如果没有规划分区的话,乖乖先备份后重装吧(目前我就是把空间全分在/下,好惊恐啊!)
目录的常用操作
cd 切换目录
pwd 显示当前目录
mkdir 建立新目录
rmdir 删除空目录(目录不为空会删除失败)
pwd -P 会显示真是的完整目录,而不是链接的目录
mkdir -m 777 -p test1/test2/test3 #同时新建多层次的目录,并赋予777的权限
rmdir -p test1/test2/test3 #同时删除多层次的空目录
echo $PATH #查看PATH环境变量目录
管理文件与目录
ls -a ~ #将家目录下所有的文件列出来(包含隐藏文件)
复制文件:cp
cp -i ~/.bashrc bashrc
加上-i参数,覆盖前会让用户进行确认
如果需要强制覆盖则加上-f参数
在不加任何参数的情况下,文件的拥有者会改变,文件的权限也会跟着改变
cp -a /var/log/wtpm wtmp
加上-a参数后,文件属性依然保持与源文件一致
cp -r /var/log wtmp
-r参数可以复制目录包括其下的所有文件,同样的,-r复制也会更改文件的属性,这里依然可以用-a来复制目录。
cp -s /var/log/wtmp #用-s,这里建立的是一个快捷方式
cp -u /var/log/wtmp wtmp #在目标文件与源文件有差异时才会复制,通常用于备份
在复制连接文件时,如果没有加任何参数的情况下,会将源文件复制过来,如果需要复制连接文件本身,则加上-d或者-a参数
同时复制多个目录或文件到同一个目录:
cp ~/.bashrc ~/.bash_history /tmp #将.bashrc和.bash_history都复制到/tmp下
删除文件
rm -i ~/xxx.log #删除xxx.log时需要用户确认
rm -f ~/xxx.log #无需确认直接删除
rmdir ~/test1 #删除空目录
rm -rf #强制删除目录及其下所有的文件,无需确认
移动文件、目录或重命名
mv bashrc mvtest #将bashrc移动到mvtest目录下(前提是存在mvtest目录,不然就会变成重命名)
mv mvtest mvtest2 #重命名
mv bashrc1 bashrc2 mvtest2 #将多个源文件或目录移动mvtest2下,mvtest2必须是目录且存在。
获取文件名和目录名
basename /etc/sysconfig/network #获取到文件名network
dirname /etc/sysconfig/network #获取到目录名/etc/sysconfig
查看文件内容的常用命令
cat 从第一行开始查看
tac 从最后一行开始查看(实际上就是cat倒过来)
nl 查看的时候输出行号(似乎用处也不是很大)
more 一页一页的显示内容
less 同more类似,比more更强大,于是可以舍弃more
head 只查看前几行
tail 只查看最后几行
od 以二进制的方式查看文件
cat -A -n xxx #-A参数显示出所有的特殊符号,-n显示出行号
tac xxx #反向显示
nl -b a -n rz -w 3 xxx #-b a,给空白行也加上行号。-n rz,行号自动补0。-w 3,默认补0位数为6位,更改为3位
less命令
空格键 向下翻页
pagedown 向下翻页
pageup 向上翻页
/xxx 向下搜索xxx
?xxx 向上搜索xxx
n 重复前一次搜索
N 反向重复前一个搜索
q 离开less
head与tail
head -n 20 xxx #查看前20行
tail -n 20 xxx #查看最后20行
tail -f xxx #查看之后不会退出,会继续读取更新,适合用来监控日志更新变化
od命令
od -t c /usr/bin/passwd #用ASCII字符输出文本
这里-t代表的是类型,其中有如下类型:
c ASCII码输出
a 默认字符串输出
d[size] 使用十进制输出,每个整数占用size字节
f 浮点数输出
o 八进制输出
x 十六进制输出
修改文件时间与创建新文件:touch
Linux会记录文件的3个主要的时间,mtime:修改时间,ctime:状态修改时间(比如修改了文件了拥有者),atime:访问时间。
touch xxx #默认该文件时间都会更新为当前时间,如果文件不存在,则会新建一个名为xxx的文件
touch -d "2 days ago" bashrc #将mtime和actime的时间提前2天
touch -t 0507120202 bachrc #将mtime和actime的时间更新为2005/07/12 02:02,ctime时间更新为当前时间。
ll 可以理解为就是 ls -l 的简写,; 分号是用来同时发出多条命令执行的。
查看文件类型
file xxx #查看xxx的文件类型
搜索文件
which,搜索可执行的文件
which -a command #-a将所有可找到的文件列出来,而不仅仅是第一个。
这条命令是根据PATH环境变量所规范的路径来寻找文件的。
用find命令来搜索文件
find / -mtime 0 #将过去24小时内更改过的文件找出来
find /etc -newer /etc/passwd #将比/etc/passwd新的文件列出来
find /home -user dmtsai #找出/home目录下属于dmtsai用户的文件
find / -nouser #查找系统中不属于任何用户的文件(异常文件?)
find / -name passwd #找出名为passwd的文件
find / -size +1000k #找出大于1M的文件
笔记看起来果然有点乱了- -,马马虎虎了~~
- Linux学习笔记-文件属性与目录配置
- linux笔记二(文件属性与目录配置)
- Linux的文件属性与目录配置
- Linux温习(一)Linux的文件属性与目录配置
- 第二章 第一部分 Linux的文件属性与目录配置
- Linux centos 学习笔记 DAY1 文件属性与权限
- linux学习笔记03-linux文件权限与目录配置
- 《鸟哥的linux》-第6章-linux的文件属性与目录配置
- LINUX系统学习笔记02-档案权限与目录配置
- linux学习笔记:文件权限与目录配置
- linux学习笔记 - 文档权限与目录配置
- [linux学习笔记]文件权限与目录配置w
- linux学习笔记之文件权限与目录配置
- 《鸟哥的Linux私房菜 基础学习篇(第二版)》 读书笔记 第06章 Linux的文件属性与目录配置
- 基础篇第一版---Linux 文件属性与目录配置 <摘自鸟哥的私房菜>
- 文件属性和目录配置
- Linux学习笔记之——用户、用户组、文件属性权限、目录概念
- Linux C编程学习笔记(5):文件属性操作和目录操作,ls的实现
- jenkins update center
- 能够按页号提取word文档文本内容的小程序,由C#实现
- kmp算法详解
- hdu4571 背包
- Calling fork from Multiple Thread Environment
- Linux学习笔记-文件属性与目录配置
- CentOS 6.3开机自动挂载磁盘和文件夹
- 如何导出Chrome已安装的某扩展Extension App
- WCF相关词汇
- 图片信息
- “ssh localhost”去掉输入密码(CentOS 6.3)
- hibernate插入数据字符长度超出
- 九度OJ1096 日期差值
- CentOS开机自动挂载