0316预习笔记
系统目录结构
系统目录结构图:http://www.apelearn.com/study_v2/linux_dir_tree.jpg
/bin,/sbin 用来存放命令,bin用来存放普通用户命令,sbin用来存放超级用命令
/boot用来存放系统启动相关的文件,列如grub
/dev 设备文件,列如光盘、硬盘等
/etc 系统配置文件
/root root用的家目录
/home 用户家目录
/lib,/lib64 存放系统库文件,系统命令依赖于库文件
查看命令依赖哪些库,列如;
ldd /bin/ls
/media 媒介目录,默认为空
/mnt 临时挂载目录,默认为空
/opt 默认为空
/proc 进程目录
/rum 进程产生的临时文件,重启关机之后就会消失
/srv 存放服务产生的文件,默认为空
/sys 存放系统内核相关的文件
/temp 临时目录,任何用户都有权限管理
/usr 存放用户文件
/var 存储各种变化的文件,列如LOG等
tree命令:以树形结构显示目录及下面的子目录和文件
[root@linux-01 ~]# tree /tmp
/tmp
├── 1
│ └── 2
├── 2
│ └── 2
├── ks-script-MjeWCD
├── systemd-private-b1c8c5571cf249b696f94493fb9fcb4d-chronyd.service-XfzQaQ
│ └── tmp
├── systemd-private-f6c7a65d020c4e0d95577d11154cb242-chronyd.service-9ozYiQ
│ └── tmp
├── vmware-root_6065-1681857474
├── vmware-root_6348-994687327
└── yum.log
如果提示没有找到该命令,运行 yum -install -y tree 进行安装
ls命令:
ls -l :显示文件详细信息
[root@linux-01 ~]# ls -l
总用量 4
-rw-------. 1 root root 1418 3月 15 04:26 anaconda-ks.cfg
[root@linux-01 ~]#
“-rw-------.” 第一位表示文件,接下来9位表示权限,最后一位带“.”,则表示受selinux控制。
ls -lh :显示文件具体的大小
[root@linux-01 ~]# ls -lh
总用量 4.0K
-rw-------. 1 root root 1.4K 3月 15 04:26 anaconda-ks.cfg
ls -la :显示隐藏的文件
[root@linux-01 ~]# ls -la
总用量 32
dr-xr-x---. 2 root root 151 3月 16 16:34 .
dr-xr-xr-x. 17 root root 224 3月 15 04:25 ..
-rw-------. 1 root root 1418 3月 15 04:26 anaconda-ks.cfg
-rw-------. 1 root root 626 3月 16 17:32 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-------. 1 root root 41 3月 16 16:34 .lesshst
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
ls -lat :按时间排序
[root@linux-01 ~]# ls -lat
总用量 32
-rw-------. 1 root root 626 3月 16 17:32 .bash_history
dr-xr-x---. 2 root root 151 3月 16 16:34 .
-rw-------. 1 root root 41 3月 16 16:34 .lesshst
-rw-------. 1 root root 1418 3月 15 04:26 anaconda-ks.cfg
dr-xr-xr-x. 17 root root 224 3月 15 04:25 ..
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
ls -i:显示文件索引节点号(inode),一个索引节点代表一个文件
[root@linux-01 ~]# ls -i
16797763 anaconda-ks.cfg
ls -ld 仅列出目录详细信息
[root@linux-01 ~]# ls -ld
dr-xr-x---. 2 root root 151 3月 16 16:34 .
which:查看命令的绝对路径,在PATH配置的目录里查找命令。
[root@linux-01 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
alias命令:给命令起别名
[root@linux-01 ~]# alias aming='ls -l'
[root@linux-01 ~]# aming
总用量 4
-rw-------. 1 root root 1418 3月 15 04:26 anaconda-ks.cfg
[root@linux-01 ~]#
输入alias,可以查看系统中当前有哪些别名存在
[root@linux-01 ~]# alias
alias aming='ls -l'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
取消别名使用unalias,可以看到取消之后aming命令失效
[root@linux-01 ~]# unalias aming
[root@linux-01 ~]# aming
-bash: aming: 未找到命令
绝对路径 :从根开始的路径 /etc/hostname
相对路径 :相对当前所在目录的路径,比如当前目录在etc下,路径则为 hostname
cd命令:进入某个目录
cd - 进入上一次所在的目录
cd或者cd ~ 进入用户家目录
cd … 进入上一级目录
pwd命令:查看当前所在的目录
mkdir命令:创建目录
mkdir -p 可以级联创建目录
mkdir -vp 显示目录创建的过程
rmdir 删除目录(目录为空时才能删除)
touch 创建空白文件
rm 删除文件
rm -f 强制删除,不提示
rm -r 删除目录
!命令 最近一次使用该命令的语句
命令 !$ 这里 !$指的上一条命令最后一个参数
path 环境变量
echo $PATH 查看环境变量所包含的目录
cp命令 复制文件
cp /etc/passwd /tmp/1.txt
cp -r 复制目录
mv 移动文件
在同一目录下移动文件,相当于给文件改名;如果目标目录中存在该目录,会询问是否需要覆盖。
在移动目录时,如果目录存在,将会将目录保存到目标目录里面;如果目录不存在,将直接改名。
cat命令:查看文件内容
cat /etc/passwd >> anconda-ks.cf.1
该命令意思为将passwd文件中的内容追加至anconda-ks.cf.1当中
cat -A 显示所有字符,符号$表示一行的结束
cat -n 显示行号
tac 倒叙查看文件内容
more 分页显示查看的文件内容,按空格往下翻页,ctrl+b往上翻页
wc -l 文件名 查看文件行数
less 也是查看文件内容,支持方向键滚动,看到最后不会自动退出,需要按Q退出。
输入/字符,高亮显示输入的内容,继续按n键会往后查找是否还有相同内容,shift+n往前查找。
输入?字符,高亮显示输入的内容,继续按n键会往前查找是否还有相同内容,
g定位首行,shift+g定位行尾。
head 查看文件前10行,tail查看文件后10行,-n可以指定行数;-f 动态的显示文件内容
文件和目录权限
通过命令ls -l我们可以看到文件的权限
第一位表示文件类型
rwx 是否可读,是否可写,是否可执行。
rw-r–r-- 权限分为三段,三位一段,第一段表示所有者的权限,第二段表示所有者在的组的权限,第三段表示其他组的权限。
r=4 w=2 x=1,那么rw-r–r--表示为644
chmod 修改权限
chomd 700 /tmp/1.txt,修改1.txt的权限
chomd -R 修改目录及目录下的文件权限
chown 用户名 文件路径 ,更改所有者
chown 用户名:用户组 文件路径,更改文件所有者和所属组,如果不输入用户名,只修改所属组
chgrp 用户组名 文件路径 ,更改所属组
-R会批量修改目录及目录里的文件
umask
umask 决定默认的目录和文件权限
umsk 003,修改umak为0003
算法:如果umask=0003
目录权限为:
777(rwxrwxrwx)- 003(-------wx)=774(rwxrwxr–)
文件权限为:
666(rw-rw-rw-) - 003(-------wx)=664(rw-rw-r–)
0316课堂笔记
boot单独分区,为了防止启动文件损坏,导致系统无法启动
alias 别名,方便使用,临时生效。
永久写入,vi /root/.bashrc或者profile
path 环境变量,让命令能直接使用。
umask 用户创建文件、目录时默认的权限
cp 复制文件到文件
复制目录到目录,目标目录存在,就放在目标目录下,如果不存在就是改名字。
复制目录的时候加/结尾
比如 cp 123 abc/
rsync 可以当做cp用
linux下一个目录中文件和目录不存在相同名字