system1之:文件和目录管理
/root 根目录下的root文件夹
[root@oratest tan]# cd
查看文件或文件夹的大小
命令的使用,结合通配符号的使用
cp - copy files and directories
-i, --interactive 交互式提醒功能
prompt before overwrite (overrides a
previous -n option)
-R, -r, --recursive
copy directories recursively 将文件夹下的子文件夹一起拷贝
-f --force 强制复制
-a 作用等价于dpr选项的组合
-p 除复制源文件外,还将把其修改时间和访问权限也复制到文件中
-d 拷贝时保留链接
-l 不做拷贝,只是链接
复制文件的时候不需要接-r
复制目录的时候,需要接-r,因为目录下有子文件夹
[root@teacher hubei]# cp -r kangkang wuhan
使用/bin/cp复制singer文件夹到xienana,不给予覆盖提醒
[root@success haiquan]# cp singer xienana -r 不使用/bin会给予提醒
cp:是否覆盖"xienana/singer/qiqin"? y
cp:是否覆盖"xienana/singer/linzhixuan"? y
cp:是否覆盖"xienana/singer/yangzongwei"? y
[root@success haiquan]# /bin/cp singer xienana -r 使用不予提醒
[root@success haiquan]#
如果是文件夹复制到文件夹,而前面那个文件夹又没有”文件“则不会提覆盖提醒
将/etc/hosts文件复制到jindafu目录下叫huojianhua的文件
复制——》粘贴——》重命名(文件--》文件则是重命名)
[root@teacher jindafu]# cp /etc/hosts /jindafu/huojianhua
将/home/目录下的所有文件和文件夹复制到/jindafu目录下
[root@teacher jindafu]# cp /home/* /jindafu -rf
1.复制文件的时候,如何后面接的目的地是文件夹,就是将文件复制后存放到后面目的地的目录下
如果后面是文件,则重命名
[root@localhost 211]# cp hosts a
[root@localhost 211]# ls
a hosts passwd shadow
2.复制文件夹时候若后面的目的文件夹原来不存在,则也是重命名
[root@localhost jitong]# ls
211
[root@localhost jitong]# cp -r 211 bak
[root@localhost jitong]# ls
211 bak
[root@teacher vnc]# cp /etc/a{passwd,shadow}b ./
cp: cannot stat `/etc/apasswdb': No such file or directory
cp: cannot stat `/etc/ashadowb': No such file or directory
alias
[root@teacher jindafu]# which cp 查询cp命令存放在系统里位置
alias cp='cp -i'
/bin/cp cp命令存放的路径
[root@teacher jindafu]#
alias 别名功能
[root@teacher jindafu]# alias c=clear 定义c等于clear这个命令的别名,使用效果和clear一样,别名的名字可以自己定义,
clear是系统的命令,这种方式定义的别名,重新启动后失效
[root@teacher jindafu]# alias 查看系统里定义的别名
alias c='clear'
alias cp='cp -i'
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'
[root@teacher jindafu]#
[root@teacher jindafu]# alias mm='ls -l' 定义别名mm的效果是ls -l
[root@teacher jindafu]# mm
total 12
dr-xr-xr-x 5 root root 4096 Mar 30 10:59 boot
-rw-r--r-- 1 root root 199 Mar 30 11:02 hosts
drwxr-xr-x 3 root root 4096 Mar 30 11:00 liufu
[root@teacher jindafu]#
[root@teacher jindafu]# unalias mm 取消mm的别名功能
************************************************************************************************
mv的使用方法:
mv - move (rename) files
当后面接的目的地文件存在的时候就是移动,不存在的时候就是改名(重命名快捷键 F2,同windows)
[root@teacher jindafu]# ls 查看内容
xiaochen xiaohou xiaoli
[root@teacher jindafu]# mv xiaoli xiaohou 将xiaoli移动到xiaohou目录
[root@teacher jindafu]# ls
xiaochen xiaohou
[root@teacher jindafu]# ls xiaohou 查看效果
xiaoli
[root@teacher jindafu]#
[root@teacher jindafu]# ls
xiaochen xiaohou
[root@teacher jindafu]# mv xiaochen dachen 将xiaochen改名为dachen
[root@teacher jindafu]# ls
dachen xiaohou
[root@teacher jindafu]#
[root@teacher jindafu]# ls
alibaba dachen xiaohou
[root@teacher jindafu]# mv alibaba alimama 将alibaba改名为alimama
[root@teacher jindafu]# ls
alimama dachen xiaohou
[root@teacher jindafu]#
************************************************************************************************
cat head tail less more tac
cat 不能分页显示,可以显示行号
more、less 分页显示
head、tail可以显示行首和行尾的内容
======
cat主要有三大功能:
#cat filename 显示整个文件
#cat > filename 从键盘创建一个文件到当前文件夹下,只能创建不能编辑(touch 也是创建文件)
#cat file1 file2 >file合并两个文件
#cat -n file1 >file2 把file1加上行号后输入file2这个文件里,原来file1文件里内容还在,但是file2的被覆盖
#cat -n file1 file2 >file3 把file1 file2都加上行号再并入file3中
>符号是重定向,经常用来重建文件(覆盖)
>>追加输出重定向,跟>用法一样,但是不覆盖里面原有的内容
重定向后面接的文件如果不存在会自动建立
cat 查看文件里的内容(按行显示)
[root@teacher lianxi]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]#
[root@teacher lianxi]# cp /var/log/messages ./
[root@teacher lianxi]#
[root@teacher lianxi]# cat -n messages 查看文件的时候,显示行号(可以帮助知道有多少行)
-n, --number 显示行号(两个一样的)number all output lines
[root@host sxjy]# cat >qiwufeiyang <<eof 在当前目录下建立文件并可以编辑内容,以eof结束
> fhsd
> nfdsj
> ff
> gg
> eof
[root@host sxjy]# ls
huhu qiwufeiyang shadow1 ss xx
[root@host sxjy]#
[root@host sxjy]# cat qiwufeiyang
fhsd
nfdsj
ff
gg
[root@host sxjy]#
======
cat的拓展:
[root@teacher lianxi]# cat -n hosts >1.txt 查看当前目录下hosts文件里的内容,然后重定向到当前目录下的1.txt文件里
> 输出重定向,把本来应该在屏幕上输出的内容转移到后面接的文件里(乾坤大挪移),会覆盖原来文件里的内容
>> 追加输出重定向,不会覆盖原来文件里的内容
重定向后面接的文件如果不存在会自动建立
[root@teacher lianxi]# cat aa
aaaaaaaaaaaaaaaaaaaa
[root@teacher lianxi]# cat aa >1.txt
[root@teacher lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
[root@teacher lianxi]# cat -n hosts >>1.txt 不覆盖
[root@teacher lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]#
===
document here
[root@teacher lianxi]# cat >qiwufeiyang <<EOF 在当前目录下产生一个qiwufeiyang的文件,等待你输入,当你输入EOF这个字符串的时候就停止(可以是其他的字符)
> jazz
> du pi wu
> qia qia wu
> pi li wu
> zombi wu
> eof
> EOF
[root@teacher lianxi]#
[root@teacher lianxi]# cat >hunantv <<EOF
> happy base
> day day up
> have a date
> i am a singer
> qiwufeiyang
> EOF
[root@teacher lianxi]# cat hunantv
happy base
day day up
have a date
i am a singer
qiwufeiyang
[root@teacher lianxi]#
[root@teacher lianxi]# cat hunantv.sh 查看脚本的内容
cat >hunantv.zhuchi <<EOF
hejiong
wanghan
xiena
wudan
lixiang
EOF
[root@teacher lianxi]#
[root@teacher lianxi]# bash hunantv.sh 执行脚本
[root@teacher lianxi]# ls
1.txt chongqin hunantv messages uu.txt
aa hosts hunantv.sh qiwufeiyang zhaoshiguer.txt
china hubei hunantv.zhuchi shangdong
[root@teacher lianxi]# cat hunantv.zhuchi 产生的文件和内容(脚本里指定的)
hejiong
wanghan
xiena
wudan
lixiang
======
动态的监控
动态的监控文件的变化,一旦有变化在屏幕上输出
-f, --follow[={name|descriptor}]
output appended data as the file grows;
tail -f 文件名
查看secure这个日志文件,该文件和系统的安全有关,凡是远程登录系统,新建用户和设置密码都会记录到此文件
[root@teacher lianxi]# tail -f /var/log/secure
按ctrl+c 退出
配合下面命令的使用,看效果
[root@teacher lianxi]# useradd chenzhou 新建用户chenzhou
[root@teacher lianxi]# passwd chenzhou 给chenzhou设置密码
[root@teacher lianxi]# ssh 10.0.0.253 远程连接10.0.0.253机器
[root@teacher lianxi]#
======
more 显示文件里的内容 (分页显示)
more命令
用途:全屏方式分页显示文件内容
[root@host zhaoshi]# more +2 tan1 从第二行开始显示
2 fsdkghjkfd
3 sggfdh
4 root:x:0:0:root:/root:/bin/bash
5 bin:x:1:1:bin:/bin:/sbin/nologin
6 daemon:x:2:2:daemon:/sbin:/sbin/nologin
7 adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@host zhaoshi]# more -2 tan1 显示2行,若回车可以继续向下显示
1 hhhhhh
2 fsdkghjkfd
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
[root@teacher lianxi]# cat messages |more -n more一般这样用,n可以取值,也可不加-n
| 管道符号 作用:将前面一个命令的输出送给后面一个命令作为输入的内容
(借花献佛)
======
用途:与more命令相同,但扩展功能更多,more是以百分比的方式分页显示,提示给用户已经显示了多少页,less没有百分比提示
交互操作方法:
与more命令基本类似,但个别操作会有些出入
【page down】【page up】上翻下翻页
head命令
用途:查看文件开头的一部分内容(默认为10行)
格式:head -n 文件名
[root@teacher lianxi]# vim hosts vim编辑器的使用
1. 3yy复制3行,可以使用上下方向键移动到末尾,按p粘贴
2.按esc键,输入shift+; 最后输入wq 退出保存
[root@teacher lianxi]# gedit hosts & 开启gedit图像文件编辑工具(记事本)再后台运行(&)
[3] 4011
[root@teacher lianxi]#
[root@teacher lianxi]# head -3 hosts 显示前3行的内容(默认显示前10行)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]# head -n 3 hosts 显示前3行的内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]#
[root@teacher lianxi]# cat -n hosts 查看文件里的内容显示行号,同时也知道文件有多少行
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
4 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
5 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6 10.0.0.253 teacher.sxkeji.com teacher
7 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
8 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
9 10.0.0.253 teacher.sxkeji.com teacher
10 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
11 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
12 10.0.0.253 teacher.sxkeji.com teacher
用途:查看文件结尾的少部分内容(默认为10行)
[root@teacher lianxi]# tail -5 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]# tail -2 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]#
[root@teacher lianxi]# head -3 hosts |tail -1 显示第3行的内容
10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]#
tail 的高级问题:
以上题目的操作:
[root@host ~]# mkdir sxjy/ss
mkdir: 无法创建目录"sxjy/ss": 没有那个文件或目录
[root@host ~]# mkdir sxjy/ss -p
[root@host ~]# mkdir sxjy/xx
[root@host ~]# cp /etc/passwd /sxjy/ss
cp: 无法创建普通文件"/sxjy/ss": 没有那个文件或目录
[root@host sxjy]# cp /etc/passwd /ss
[root@host sxjy]# cd ss
[root@host ss]# ls 没有copy过去但是不会出错
[root@host ~]# cp /etc/passwd ./sxjy/ss 相对路径
[root@host ~]# cd sxjy
[root@host sxjy]# cd ss
[root@host ss]# ls
passwd
[root@host ss]# cp /etc/passwd /root/sxjy/ss 绝对路径
cp:是否覆盖"/root/sxjy/ss/passwd"? y
[root@host ss]#
[root@host xx]# cp /etc/shadow ./
[root@host xx]# ls
shadow
[root@host xx]#
mv命令来改名:
[root@host sxjy]# tree
.
├── haha
├── ss
│ └── shadow
└── xx
└── shadow
[root@host sxjy]# mv haha huhu
[root@host sxjy]# ls
huhu ss xx
[root@host sxjy]# mv shadow shadow1
mv: 无法获取"shadow" 的文件状态(stat): 没有那个文件或目录
[root@host sxjy]# mv shadow shadow1 -rf
mv:无效选项 -- r
请尝试执行"mv --help"来获取更多信息。
[root@host sxjy]# mv ./xx/shadow shadow1
[root@host sxjy]# tree
.
├── huhu
├── shadow1 连文件夹xx一起删除了,只剩下文件shadow1
├── ss
│ └── shadow
└── xx
tail和head命令高级用法
格式:tail -n 数字 文件名
数字:数字前有 +(加号),从文件开头指定的单元 数开始输出;数字前有 -(减号),从文件末尾指定的单元 数开始输出;没有 +或 -,从文件末尾指定的单元 数开始输出。
例如:
tail -n +3 /etc/passwd 从第三行开始显示 *
tail -n -3 /etc/passwd 显示最后三行
head -n -3 /etc/passwd 不显示最后三行 *
head -n +3 /etc/passwd 显示前三行
[root@teacher lianxi]# tail -n +5 zhaoshiguer.txt |head -n -3
显示从第5行开始到去掉末尾3行之间的内容
zhao suo
tu an gu
tu an wu jiang
xiang ling
cao er
hou chao
wu juan
zhao wei
[root@teacher lianxi]#
用途:从最后一行倒着显示出文件的全部内容
[root@teacher lianxi]# tac zhaoshiguer.txt
huang hui liang
liu yang
zhao wei
wu juan
hou chao
cao er
xiang ling
tu an wu jiang
tu an gu
zhao suo
zhao wu
cheng ying
liudehua
[root@teacher lianxi]#
ln建立链接
语法:ln 【选项】目标 【链接名】
链接有两种,一种被称为硬链接(hard link),另一种被称为符号链接(Symblic link)。
建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接,而对于符号链接则不存在这个问题。
给ln命令加上-s选项,则建立符号链接,也叫软链接
这里link1是软链接,link2是硬链接
软链接删除目标后,链接不生效,硬链接只要inode不变则一直在
windows中的桌面快捷方式就是软链接
ln 创建符号链接文件(快捷方式)也叫软链接,创建符号链接文件(目录和文件都可以)
ln - make links between files
-s, --symbolic
[root@teacher Desktop]# ln -s /usr/bin/notecase /root/Desktop/notecase
将/usr/bin/notecase创建链接文件到/root/Desktop/notecase
好处就是可以在桌面双击打开notecase
[root@teacher Desktop]# ll
-rw-r--r-- 1 root root 1538 Apr 15 09:48 lixueyuan.txt
lrwxrwxrwx 1 root root 17 Apr 20 15:24 notecase -> /usr/bin/notecase
在桌面创建一个连接文件叫var 链接到/var目录
ln -s /var /root/Desktop/var
源文件 目的文件
=====================================
which、whereis、locate、find
用途:查找可执行文件(命令)并显示所在的位置
[root@teacher lianxi]# which mkdir
/bin/mkdir
[root@teacher lianxi]# which touch
/bin/touch
[root@teacher lianxi]# which ifconfig
/sbin/ifconfig
[root@teacher lianxi]#
[root@teacher lianxi]# which pwd
/bin/pwd
[root@teacher lianxi]# which tree
/usr/bin/tree
[root@teacher lianxi]#
[root@teacher lianxi]# shuaige=liuxiangyang 定义变量
[root@teacher lianxi]# echo $shuaige ni hao 引用变量(前面加$)
liuxiangyang ni hao
[root@teacher lianxi]#
[root@teacher lianxi]# echo $PATH 输出当前用户的查找命令的路径变量(环境变量中的一个变量)
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
各个路径使用冒号隔开,查看命令的时候就到上面的路径(目录)下查找
[root@teacher lianxi]# which tree
/usr/bin/tree
[root@teacher lianxi]# mv /usr/bin/tree / 将tree命令移走
[root@teacher lianxi]# which tree 找不了,因为PATH变量的路径里没有了
/usr/bin/which: no tree in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[root@teacher lianxi]# tree
bash: /usr/bin/tree: No such file or directory
[root@teacher lianxi]# /tree 使用绝对路径可以使用
[root@teacher lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[root@teacher lianxi]# PATH=$PATH:/china 修改PATH变量的值
[root@teacher lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[root@teacher lianxi]#
[root@teacher lianxi]# ifconfig eth0 查看ip地址
eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF
inet addr:10.0.0.253 Bcast:10.0.255.255 Mask:255.255.0.0
inet6 addr: fe80::230:67ff:fef2:10cf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5462933 errors:0 dropped:0 overruns:0 frame:0
TX packets:8529612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:392231592 (374.0 MiB) TX bytes:4083812614 (3.8 GiB)
Interrupt:29 Base address:0x4000
[root@teacher lianxi]#
[root@teacher ~]# touch ipconfig 新建一个空文件
[root@teacher ~]# chmod +x ipconfig 授予可执行权限
[root@teacher ~]# cp ipconfig /sbin 复制到/sbin目录下
[root@teacher ~]# ipc 按tab键补齐,可以查找到,因为ipconfig在PATH变量目录下
ipcalc ipcmk ipconfig ipcrm ipcs
[root@teacher ~]# ipconfig
[root@teacher ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[root@teacher ~]#
whereis命令
用途:查找文件的路径、该文件的帮助文件路径,原理和which类似
查找命令的时候还是会查看PATH变量的值
[root@teacher ~]# whereis mkdir
mkdir: /bin/mkdir /usr/share/man/man1p/mkdir.1p.gz /usr/share/man/man3p/mkdir.3p.gz /usr/share/man/man2/mkdir.2.gz /usr/share/man/man1/mkdir.1.gz
[root@teacher ~]#
====
[root@teacher ~]# touch alading
[root@teacher ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[root@teacher ~]# whereis alading
alading:
[root@teacher ~]# cp alading /bin
[root@teacher ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[root@teacher ~]# whereis alading 没有可执行权限也可以找到
alading: /bin/alading
[root@teacher ~]#
[root@teacher ~]# chmod +x /bin/alading
[root@teacher ~]# which alading
/bin/alading
[root@teacher ~]#
====
which和whereis的异同:
都是在PATH变量的路径下查找命令
但是whereis可以查看命令的man手册文件的路径,同时不要求命令具有可执行权限
====
[root@teacher ~]# locate alading
[root@teacher ~]# locate mkdir 在根目录下查找出所有的mkdir文件
/bin/mkdir
/image/bin/mkdir
/image123/bin/mkdir
/test/bin/mkdir
/usr/bin/gnomevfs-mkdir
/usr/bin/gvfs-mkdir
/usr/lib/perl5/auto/POSIX/mkdir.al
/usr/share/aclocal-1.11/mkdirp.m4
/usr/share/man/man1/mkdir.1.gz
/usr/share/man/man1p/mkdir.1p.gz
/usr/share/man/man2/mkdir.2.gz
/usr/share/man/man2/mkdirat.2.gz
/usr/share/man/man3p/mkdir.3p.gz
[root@teacher ~]# updatedb 新建的文件locate不一定能找到,需要更新数据库
[root@teacher ~]# locate alading
/bin/alading
/root/alading
[root@teacher ~]#
===
三者区别:
locate :在整个根目录下查找,比较适合查找文件
which :在PATH变量值路径下查找,比较适合查找命令,用于显示查找可执行文件的完全路径,有别名的也显示别名,无权限则会报错,没有时也会报错
whereis :在PATH变量值路径下查找,比较适合查找命令,用于查找文件的路径,该文件的帮助文件(man)路径,该文件的相关原程序的路径,无执行权限也可查看,没有时不报错
[root@host /]# mount -o loop /Software/rhel6.3.iso /mnt 挂载点/mnt
挂载镜像文件的步骤
[root@teacher bak]# find / -name rhel*.iso 查找iso镜像文件
/var/ftp/software/iso/rhel6.3.x86.iso
mount -o loop /var/ftp/software/iso/rhel6.3.x86.iso /mnt 挂载镜像文件
[root@teacher bak]# df -Th 查看磁盘分区的使用情况(查看c、d盘的使用情况)
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 321G 88G 218G 29% /
tmpfs tmpfs 1.9G 320K 1.9G 1% /dev/shm
/dev/sda1 ext4 92G 233M 87G 1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
iso9660 2.9G 2.9G 0 100% /mnt
[root@teacher bak]# cd /mnt 进入挂载点,可以查看目录里的内容
[root@teacher mnt]#
[root@host /]# df -TH
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda2 ext4 259G 47G 199G 19% /
tmpfs tmpfs 2.1G 635k 2.1G 1% /dev/shm
/dev/sda1 ext4 204M 146M 47M 76% /boot
/dev/sda3 ext4 104G 4.5G 94G 5% /usr
/dev/sda5 ext4 21G 17G 3.0G 85% /Software
/Software/rhel6.3.iso
iso9660 3.2G 3.2G 0 100% /mnt
[root@host /]# df -Th
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda2 ext4 241G 44G 186G 19% /
tmpfs tmpfs 1.9G 620K 1.9G 1% /dev/shm
/dev/sda1 ext4 194M 139M 45M 76% /boot
/dev/sda3 ext4 97G 4.2G 88G 5% /usr
/dev/sda5 ext4 20G 16G 2.8G 85% /Software
/Software/rhel6.3.iso
iso9660 2.9G 2.9G 0 100% /mnt
两者不同:
-H likewise, but use powers of 1000 not 1024
-h print sizes in human readable format (e.g., 1K 234M 2G)
find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件] [动作]
常用查找条件
-name:按文件名称查找
-group:根据文件所属组寻找文件
-size: 按文件大小查找
-user: 按文件属主查找
-type: 按文件类型查找 #普通文件的类型是 f,块的是 b,字符的为 c,链接的为 l,目录的为 d
-perm :按文件权限查找
-mtime :按文件更改时间查找 +n天前修改过的文件 -n n天之内 默认则刚好是那天
-atime:访问过的
-ctime:修改过状态的
-newer:按比某个文件更新的查找
-mmin: 根据分钟来查找
各条件之间的连接,"与"的关系用 -and(即-a ) ,"或"的关系,则是-or (即
-o) ,"非"则是!
[root@teacher 3-linux]# find / -name *.iso
在根目录下根据文件的名字来查找以.iso结尾的文件
find 是命令
/ 是查找的路径
-name是条件
*.iso 是文件名
===
查找/boot 目录下,大小大于 2M,但是小于 4M 的文件
[root@station6 ~]# find /boot -size +2M -a ! -size +4M -exec ls -l {} \; //不能用-4M的方式,所以用!取反
-rw-r--r--. 1 root root 17155718 3月 31 13:03 /boot/initramfs-3.8.5.img
-rwxr-xr-x. 1 root root 3857376 6月 14 2012 /boot/vmlinuz-2.6.32-279.el6.i686
-rw-r--r--. 1 root root 4120384 3月 31 13:03 /boot/vmlinuz-3.8.5
-rw-r--r--. 1 root root 35698688 3月 31 15:50 /boot/img/initrd.img
-rw-r--r--. 1 root root 15029999 3月 31 15:48 /boot/img/initramfs-2.6.32-279.el6.i686.img
-rw-------. 1 root root 4065919 3月 31 14:00 /boot/initrd-3.8.5kdump.img
-rw-r--r--. 1 root root 15029999 3月 16 04:18 /boot/initramfs-2.6.32-279.el6.i686.img
-rw-------. 1 root root 3833167 3月 16 04:24 /boot/initrd-2.6.32-279.el6.i686kdump.img
[root@station6 ~]#
[root@host ~]# find / -name *.iso 在根目录下查找名字是以iso结尾的镜像文件,一般不知道文件在哪里可以用/,会搜所有文件
/usr/lib/vmware/isoimages/freebsd.iso
/usr/lib/vmware/isoimages/windows.iso
/usr/lib/vmware/isoimages/winPre2k.iso
/usr/lib/vmware/isoimages/solaris.iso
/usr/lib/vmware/isoimages/netware.iso
/usr/lib/vmware/isoimages/linux.iso
/Software/cn_windows_8_enterprise_x86.iso
/Software/ubuntu-12.10-desktop-i386.iso
/Software/WIN7_2011_V5.1_33LC.iso
/Software/rhel6.3.iso
[root@host ~]#
[root@host boot]# find /boot -name vm* /boot下以vm开头的文件
find: 路径必须在表达式之前: vmlinuz-2.6.32-279.el6.i686
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[root@host ~]# find /boot -name "vm*" 有些情况下直接用vm*会报错,要加双引号或者 vm\*转意一下,”\"是转义字符
/boot/vmlinuz-2.6.32-279.el6.i686
/boot/vmlinuz-3.8.5
/boot/img/lib/modules/2.6.32-279.el6.i686/kernel/drivers/scsi/vmw_pvscsi.ko
/boot/vmlinuz
[root@host ~]#
[root@teacher ~]# find /boot -name vm\*
/boot/vmlinuz-2.6.38.8
/boot/vmlinuz
/boot/vmlinuz-2.6.32-279.el6.i686
[root@teacher ~]#
[root@host boot]# find / -size +100M -name *.iso /下 >100M并且以iso结尾的
/Software/cn_windows_8_enterprise_x86.iso
/Software/ubuntu-12.10-desktop-i386.iso
/Software/WIN7_2011_V5.1_33LC.iso
/Software/rhel6.3.iso
[root@host boot]# find / -size +100M -a -name *.iso -a(并)可以不接,默认为-a(-o或,不能省,-not非,不能省)
/Software/cn_windows_8_enterprise_x86.iso
/Software/ubuntu-12.10-desktop-i386.iso
/Software/WIN7_2011_V5.1_33LC.iso
/Software/rhel6.3.iso
[root@host boot]#
[root@teacher ~]# find /boot -name "vm*" -exec ls -l {} \;
-exec 后面接需要执行的命令 (execute)
ls -l 是具体要执行的命令
{} 是用来存放前面一个命令查找到的结果
\; 是一个结束标志
[root@host home]# find / -size +1G -exec ls -l {} \;
-rw-------. 1 root root 1762131968 4月 7 20:26 /root/vmware/Ubuntu/Ubuntu-s001.vmdk
-rw-------. 1 root root 1231814656 4月 18 22:08 /root/vmware/Red Hat Enterprise Linux 6 (2)/Red Hat Enterprise Linux 6 (2)-s005.vmdk
[root@localhost ~]# find / -name \*iso -o -size +100M
包含iso结尾或者大于100M
[xiaozhou@teacher ~]$ find /home -user xiaozhou
-user是根据用户来查找
[xiaozhou@teacher ~]$ find /home ! -user xiaozhou
不是用户xiaozhou的文件查找出来
[tan@host ~]$ find /home ! -user tan
/home
/home/xiang
find: “/home/xiang”: 权限不够
/home/tan/san
/home/tan/er
/home/tan/er/yi
/home/tan/yi
/home/tan/yi/kaixin
/home/dinghua
find: “/home/dinghua”: 权限不够
/home/rengwu
/home/chaochao
find: “/home/chaochao”: 权限不够
/home/uu
find: “/home/uu”: 权限不够
[tan@host ~]$ find /home -user tan
find: “/home/xiang”: 权限不够
/home/tan
/home/tan/.mozilla
/home/tan/.mozilla/plugins
/home/tan/.mozilla/extensions
/home/tan/.bash_history
/home/tan/.bash_profile
/home/tan/.bash_logout
/home/tan/.gnome2
/home/tan/.bashrc
find: “/home/dinghua”: 权限不够
find: “/home/chaochao”: 权限不够
find: “/home/uu”: 权限不够
[tan@host ~]$
====
find -mtime -n +n
-mtime modify 修改时间
-atime access 访问时间
-ctime change 改变文件的属性的时候(大小、时间、用户、组、权限)
-mmin 根据分钟查找
-n n天之内
+n n天之前
默认则刚好是那天
[root@teacher bak]# stat zhousuo
File: `zhousuo'
Size: 31 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 12189704 Links: 1
磁盘分区编号 文件的inode号 链接数
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-04-20 08:03:28.082667296 +0800 访问时间
Modify: 2013-04-20 08:03:28.082667296 +0800(时区) 修改时间
Change: 2013-04-20 08:03:28.132543403 +0800 改变属性的时间
访问时间 cat、vim查看
修改时间 vim编辑
ctime chmod、chown可以修改文件的属性
==
需要确认
[root@teacher bak]# find . -type f -ok rm -rf {} \;
< rm ... ./bb > ? y
< rm ... ./dd > ? y
< rm ... ./cc > ? y
< rm ... ./aa > ? y
[root@teacher bak]# ls
a b c d
=====================
现象---问题?
[root@localhost ~]# find / -name \*iso -a -size +100M
/rhel6.3.x86.iso
/iso/ubuntu-12.10-desktop-i386.iso
/iso/rhel6.3.x86.iso
/iso/WIN7_2011_V5.1_33LC.iso
/root/WIN7_2011_V5.1_33LC.iso
[root@localhost ~]# find / -name *iso -a -size +100M
/iso/WIN7_2011_V5.1_33LC.iso
/root/WIN7_2011_V5.1_33LC.iso
查看自己用了多少命令,历史命令(1000条)
[root@host ~]# history
783 vncviewer 10.0.253:3 --shared --viewonly &
784 df -Th
785 du -sh
786 du -sh /root
787 du -sh /boot
788 cd boot
789 ls
790 stat tan
791 cd
792 cd tan
793 history
[root@host ~]# !787 执行第787条指令du -sh /boot
du -sh /boot
135M /boot
[root@host ~]# !vnc 执行执行以vnc开头的历史命令 vncviewer 10.0.253:3 --shared --viewonly &
vncviewer 10.0.253:3 --shared --viewonly &
[2] 4134
[root@host ~]#
history -c 清除历史命令
[root@station6 skel]#history -c
[root@station6 skel]# echo history -c >>/root/.bash_logout 注销的时候就会执行
打包归档及压缩:
打压缩包的意义:备份、节约空间
[root@teacher mnt]# find ./ -size +10M -a -name kerne* -exec cp {} /home/ss/xx/ \;
[root@teacher mnt]# find ./ -size +3072k -a -size -8192k -a -name "i*" -exec cp {} /home/ss/xx/kk/ \;
[root@teacher kk]# mv i* jj/
[root@teacher ss]# cp xx /xx -r
[root@teacher ss]# zip lanqiu.zip hailong zhaowei 将zhaowei hailong压缩成lanqiu.zip文件
adding: hailong (stored 0%)
adding: zhaowei (stored 0%)
[root@teacher ss]# zip passwd.zip passwd 将passwd文件压缩成passwd.zip
adding: passwd (deflated 61%)
[root@teacher ss]# ls
a c hailong passwd xx
b d lanqiu.zip passwd.zip zhaowei
[root@host wulin]# zip huashang.zip messages 只能压缩文件,不能压缩文件夹,且不取代原文件
adding: messages (deflated 84%)
[root@host wulin]# ls
boot huashan messages wudang.2013-04-20.tar.gz
etc huashang.zip messages.tar.gz
hengshan linghuchong.zar.gz wudang
unzip 解压缩
默认情况下解压到当前目录
[root@teacher ss]# unzip passwd.zip
Archive: passwd.zip
inflating: passwd
[root@teacher ss]# ls
a b c d lanqiu.zip passwd passwd.zip test xx
[root@teacher ss]# unzip lanqiu.zip
Archive: lanqiu.zip
extracting: hailong
extracting: zhaowei
[root@teacher ss]# ls
a c hailong passwd test zhaowei
b d lanqiu.zip passwd.zip xx
[root@teacher ss]#
指定解压目录为/zhaowei
[root@teacher bak]# unzip passwd-shadow.zip -d /zhaowei
Archive: passwd-shadow.zip
inflating: /zhaowei/passwd
inflating: /zhaowei/shadow
[root@teacher bak]#
[root@host bak]# unzip passwd-shadow.zip -d ss 自定义解压路径(-d)到ss,默认是当前路径下
Archive: passwd-shadow.zip
inflating: ss/passwd
inflating: ss/shadow
[root@host wulin]# unzip huashang.zip
Archive: huashang.zip
replace messages? [y]es, [n]o, [A]ll, [N]one, [r]ename: y 原来有则询问是否覆盖
inflating: messages
[root@host wulin]#
gzip 对文件进行压缩,而且是直接在原来的文件上进行的,会取代原文件,解压也是。加了一个扩展名.gz ,不能对文件夹进行压缩
zcat 查看压文件里的内容
重要参数为:
-d (解压缩)
-c 不取代原文件,将压缩数据输出为标准输出(bzip2一样)
压缩:
[root@host wulin]# ls
boot huashan messages wudang
etc huashang.zip messages.tar.gz wudang.2013-04-20.tar.gz
hengshan linghuchong.zar.gz nice.txt
[root@host wulin]# gzip -1 nice.txt >nice.txt.gz
gzip: nice.txt.gz already exists; do you wish to overwrite (y or n)? y
[root@host wulin]# ls
boot huashan messages wudang
etc huashang.zip messages.tar.gz wudang.2013-04-20.tar.gz
[root@station6 tan]# gzip -1 -c passwd >passwd.gz 加-c就不覆盖
[root@station6 tan]# ls
etc passwd passwd.gz passwd.zip
[root@station6 tan]#
[root@teacher lianxi]# gzip -9 xiaohui
[root@teacher lianxi]# ls
cctv passwd shadow xiaohong xiaohui.gz xiaokang 没有xiaohui文件了
[root@teacher lianxi]# gzip -9 cctv 不能压缩目录
gzip: cctv is a directory -- ignored
[root@teacher lianxi]#
[root@teacher lianxi]# zcat passwd.gz 查看压缩文件里的内容
[root@host hunantv]# cat hejiong 查看一般文件内容
hejiongjiong
[root@teacher lianxi]# whereis mkdir 平时我们man某个命令的时候,查看的手册内容其实都是.gz文件里的内容
mkdir: /bin/mkdir /usr/share/man/man1p/mkdir.1p.gz /usr/share/man/man3p/mkdir.3p.gz /usr/share/man/man2/mkdir.2.gz /usr/share/man/man1/mkdir.1.gz
[root@teacher lianxi]#
解压:
[root@teacher lianxi]# gzip -d passwd.gz 解压,默认为当前文件夹 ,解压也取代原来文件
[root@teacher lianxi]# ls
cctv passwd shadow xiaohong xiaohui.gz xiaokang
[root@teacher lianxi]#
bzip2,bzcat
[root@teacher lianxi]# bzip2 -9 passwd 压缩(扩展名以.bz2)
[root@teacher lianxi]# ls
cctv passwd.bz2 shadow xiaohong xiaohui.gz xiaokang
[root@teacher lianxi]# bzip2 -d passwd.bz2 解压
[root@teacher lianxi]# ls
cctv passwd shadow xiaohong xiaohui.gz xiaokang
[root@teacher lianxi]#
注意:哪种类型压缩文件只能用哪种解压命令解压
gzip ---》.gz
tar 五星级命令
用途:制作归档文件、释放归档文件
格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
tar 作用:创建压缩文件,用来备份,可以节约磁盘空间。
压缩
-czvf和czvf效果一样
解压
解压文件后会覆盖原文件(压缩文件不被覆盖),压缩的时候不会覆盖原文件
常用命令选项
-c:创建 .tar 格式的包文件
-c, --create
create a new archive
-x:解开.tar格式的包文件
-x, --extract, --get
extract files from an archive
-v:输出详细信息
-v, --verbose
verbosely list files processed
-f:表示使用归档文件
-f, --file=ARCHIVE
use archive file or device ARCHIVE
-t:列表查看包内的文件
-t, --list
list the contents of an archive
-p:保持原文件的原来属性(权限)
-p, --preserve-permissions
extract information about file per-
missions (default for superuser)
-P:保持原文件的绝对路径(慎用)
-P, --absolute-names
don’t strip leading ‘/’s from file
names
-C:解包时指定的目标文件夹
-z:调用gzip程序进行压缩或解压
-z, --gzip, --gunzip, --ungzip
filter the archive through gzip
-j:调用bzip2程序进行压缩或解压
-j, --bzip2
filter the archive through bzip2
--exclude filename 排除某个文件或者目录
[root@teacher lianxi]# tar czvf hunantv.tar.gz hunantv
将当前目录下的hunantv创建一个叫hunantv.tar.gz的文件,放到当前目录下
[root@teacher lianxi]# tar tvf hunantv.tar.gz 查看压缩包的内容(zcat,bzcat也是)
[root@teacher lianxi]# tar tvf hunantv.tar.bz2 查看压缩包的内容
drwxr-xr-x root/root 0 2013-04-20 10:15 hunantv/
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/hejiong
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/wanghan
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/duhaitao
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/ouyidi
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/daqianfeng
-rw-r--r-- root/root 0 2013-04-20 10:15 hunantv/xiena
[root@host wulin]# tar xf /root/liyang/pwd-host-boot.tar.bz2 解压的路径不接就默认为当前目录wulin
解压文件的时候接-C,指定路径
创建压缩文件的时候,建议使用绝对路径指定目录和文件名比较好
1.gzip 1.txt passwd passwd1 passwd2 passwd.tar shadow wenjian
[root@station6 tan]# tar -xvf passwd.tar -C /tan
passwd
[root@station6 tan]# cd /tan
[root@station6 tan]# ls
passwd
[root@station6 tan]# tail -3 passwd
jingshi:x:508:517::/home/jingshi:/bin/bash
yueyang:x:509:518::/home/yueyang:/bin/bash
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
[root@station6 tan]#
这里cf要加-不然会报错,因为前面--exclude(压缩过程中排除指定文件或目录)用的是长格式
tar: 从成员名中删除开头的“/”
[root@host liyang]# ls
pwd-host-boot.tar.bz2 wulin.tar.gz
可以将文件(压缩文件也包括在内)或者文件夹一起打包并且压缩,加v显示压缩或解压过程
hunantv/
hunantv/hejiong
hunantv/wanghan
hunantv/duhaitao
hunantv/ouyidi
hunantv/daqianfeng
hunantv/xiena
passwd
shadow
xiaohong
xiaohui.gz
system1之:文件和目录管理相关推荐
- linux系统命令学习系列-文件和目录管理
复习上节内容: 1. 定时执行任务命令crontab –e, crontab –l,crontab –r 2. 作业:定义一个定时任务,每分钟向/tmp/test.txt文件输出hello world ...
- 文件节点的linux指令,Java工程师必学的Linux命令(一)文件与目录管理
从本篇文章开始,我将总结一些Java工程师日常研发工作中会使用到的Linux命令,在介绍这些命令的过程中,也会对Linux系统的一些基础知识进行普及.希望对大家工作和学习有所帮助吧. 本篇将从文件与目 ...
- linux 文件与目录管理命令
2019独角兽企业重金招聘Python工程师标准>>> 目录与路径: 1.cd (change directory ) : 改变当前的目录,语法:cd [相对路径/绝对路径] cd ...
- 第五章 文件和目录管理
第五章 文件和目录管理 第一节 目录创建和管理 mkdir 参 数 : -p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录 -v或--verbose 显示执行时的详细信息 ...
- 实验02 Linux文件和目录管理
一.实验目的 熟悉Linux的文件和目录管理 二.实验环境 CentOS 6.5系统. 三.实验内容 1. 文件和目录的创建.编辑.复制.移动.删除 2. 文件内容的过滤.排序.去重 3. 文件和目录 ...
- Linux 的文件和目录管理类命令
文件和目录管理类的命令 目录: cd ~[username] ~:指定用户的家目录 cd -:回到上一次所在的目录 路径: 相对路径中: .:当前目录 ..:父目录 pwd: print workin ...
- 第七章、Linux 文件与目录管理
第七章.Linux 文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH 2. ...
- 【Linux系列】【基础版】第二章 文件、目录管理
2. 文件.目录管理2.1 有哪些文件目录2.1.1 /bin 2.1.2 /boot2.1.3 /dev2.1.4 /etc2.1.5 /home2.1.6 /lib /lib642.1.7 /me ...
- 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理
第七章.Linux文件与目录管理 最近升级日期:2009/08/26 在第六章我们认识了Linux系统下的文件权限概念以及目录的配置说明.在这个章节当中,我们就直接来进一步的操作与管理文件与目录吧!包 ...
- 文件与目录管理——笔记
目录 1.特殊目录: 2.处理目录的命令: 3.执行文件路径变量:$PATH 4.文件与目录管理: 1)查看文件与目录:ls 2)复制.删除与移动:cp,rm,mv 3)文件内容查阅: 4)修改文件或 ...
最新文章
- java二个整数相减_Java-消息框显示两整数加减乘除
- SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
- Ross《随机过程》(第二版)装填问题Python模拟实验
- picture of web
- linux不显示无线网卡驱动安装失败,Linux_Ubuntu无线网卡驱动安装方法,安装了Ubuntu后发现没有无线网 - phpStudy...
- 计算机图案填充的两种方法,计算机图形学课件 第9讲 区域填充和字符处理.ppt...
- Facebook想用机器人取代App
- Auto Control 001 自动控制的一般概念
- jquery添加事件
- MySQL取小数点后两位及百分比
- 怎么计算crc16校验数据的校验码
- WTS:基于Web的Terminal控制台
- 使用TIBCO Rendezvous发送hello world,实现监听和发送
- 3个小时学会wordpress模板制作
- 无器械健身,是否真的比健身房器械训练要好?
- linux ipad 视频,是否可以在iPad或iPad上同时播放多个视频文件?
- 十二、Vue项目 - 详情页动态路由、banner布局和公用图片画廊组件拆分
- git 解决push报错:[rejected] master -> master (fetch first)
- 【异常】java: Internal error in the mapping processor: java.lang.NullPointerException
- 如何用hadoop自带的包计算pi值