修改文件将系统英文改为中文环境
[root@teacher vnc]# gedit /etc/sysconfig/i18n
LANG="en_US.UTF-8" 更改为LANG="zh_CN.UTF-8"
重新启动机器生效
首提示符:
[root@teacher ~]# 中
[] 表示分隔符号
root 表示是当前登录用户 (root用户是linux系统里的超级管理员,windwos里的是administrator)
@ 分隔符号
teacher 代表是主机名
~ 代表你当前所在的路径是用户家目录(假如是root用户,~代表的路径为/root)
# 代表的是超级用户的提示符号
$ 代表的是普通用户的提示符号
区别两者:
su - kankan 切换用户到kankan(登录用户)
[kankan@teacher ~]$
cd ~tan 进入普通用户tan的家目录,去掉~不能访问
[root@teacher ~]# cd ~tan
[root@teacher tan]#pwd
/home/tan
家目录、根目录
家目录 (~):家目录是用户登录系统的时候,默认会进入的目录
root用户的家目录:/root
普通用户的家目录(useradd新建的用户都是普通用户):/home下,默认情况下和用户名同名
useadd tan 在根目录的home下:/home/tan
根目录: / 所有的文件和文件都存放在根目录下。最高统治者是根目录
根目录和root用户的家目录,有什么区别?
它们不是同一目录,/root目录在根目录下。根目录包含/root目录
[root@teacher vnc]# useradd xiangyang
[root@teacher vnc]# cd ~xiangyang
[root@teacher xiangyang]# pwd
/home/xiangyang
[root@teacher xiangyang]#
相对路径和绝对路径:
相对路径:参照你当前的位置。到达目标文件需要经过的文件系统目录树的所有分支
绝对路径:不考虑你当前的位置,从“/”到达目标文件需要经过的文件系统目录树的所有分支
不接/都是相对路径
[root@teacher ~]# mkdir /china/{hunan/{zhuzhou,changshan},hubei,shandong,chongqin} -p
[root@teacher ~]# tree /china
/china
├── chongqin
├── hubei
├── hunan
│ ├── changshan
│ └── zhuzhou
└── shandong
6 directories, 0 files
[root@teacher ~]#
[root@teacher yiyang]# cd /china/shandong/yantai/
[root@teacher yantai]# cd -
/china/hunan/yiyang
[root@teacher yiyang]# cd ../../shandong/yantai
[root@teacher yantai]# mkdir ../../hubei/{wuhan,shiyan} 记得大括号里要带逗号分开,不然就是创建../../hubei/{wuhan和shiyan}
[root@teacher china]# rm -rf hunan/yueyang/
[root@teacher china]# mkdir hunan/yueyang hunan/shaoyang hunan/hengyang
|| 等效
[root@teacher china]# mkdir hunan/{yueyang,shaoyang,hengyang}
当文件和文件夹存在的时候,再次新建的时候,会报错
[root@teacher china]# mkdir hunan/{yueyang,shaoyang,hengyang}
mkdir: cannot create directory `hunan/yueyang': File exists
mkdir: cannot create directory `hunan/shaoyang': File exists
mkdir: cannot create directory `hunan/hengyang': File exists
命令的一般格式(很重要):
命令字 [选项] [参数1][参数2]......
选项是可供选择的项目,可以使用,也可以不使用。
命令使用的时候,是否一定要接选项?
答:选项,是可供选择的项目,可以选择使用也可以不使用。使用的时候效果比较好
[root@teacher feng_software]# du -sh Yozo_Office_6.1.0305.131ZH.tar.gz 查看大小
55M Yozo_Office_6.1.0305.131ZH.tar.gz
[root@teacher feng_software]# ls -lh Yozo_Office_6.1.0305.131ZH.tar.gz 查看大小
-rw-r--r-- 1 root root 55M Mar 14 10:26 Yozo_Office_6.1.0305.131ZH.tar.gz
[root@teacher feng_software]#
文件显示的颜色:
察颜观色
蓝色代表文件夹(目录)
黑色代表是普通文件
红色代表是压缩文件
绿色代表可执行文件(脚本文件,里面是linux命令,可以双击运行的)
紫色代表是图片或者视频文件
天蓝色代表是链接文件(windows快捷方式)
隐藏文件的表示:. ..
[root@tan hunan]# ls -a
. ..
[root@tan hunan]#
. 代表当前目录(文件夹)
.. 代表上级目录
[root@teacher zhuzhou]# ls -a
. .. dq gj jt .meinv .开头的文件是隐藏文件
/etc/passwd 存放用户名
/etc/shadow 存放密码的
/boot是用来存放引导文件
这3个目录不能被删除
rm -rf / 切忌不能使用(相当于自杀),所有的资料都会被删除
没有说在哪里就是在当前路径
取绝对路径跟你在哪里没有关系,可以直接使用
$ 接变量是引用变量值
ls的用法
ls (list) 显示隐藏文件(所有的文件)
ls - list directory contents
-a, --all 所有
-d, --directory 目录本身
-h, --human-readable 人类能够读懂(K,M,G等)
-l use a long listing format 长格式显示(详细信息)
ls /home查看普通用户名
ls -l /home 查看/home目录里的内容,显示详细信息
ll = ls -l
分析:
[root@teacher tanqiuyun]# ls -l
total 4
d rwxr-xr-x 2 root root 4096 Mar 28 20:47 xiangxi
文件类型 权限 链接数 用户 组 大小 创建时间 名字
[root@teacher vnc]# ls -l /home 查看/home目录里的内容,-l 显示详细信息
total 24
drwx------ 5 dongfang dongfang 4096 Mar 17 15:30 dongfang
drwx------ 4 kankan kankan 4096 Mar 28 19:48 kankan
drwx------ 6 liuyan liuyan 4096 Mar 24 11:21 liuyan
drwx------ 4 mysql mysql 4096 Mar 12 15:42 mysql
drwx------. 4 500 500 4096 Mar 9 01:19 tom
drwx------ 4 upload upload 4096 Mar 17 14:32 upload
[1]+ Done ./vncwindows-tools
[root@teacher vnc]# ls /home
dongfang kankan liuyan mysql tom upload
[root@teacher vnc]#
ls 是命令 -l 选项(可供选择的项目) /home是参数(参加操作的数) 中间用空格隔开
实例:
[root@teacher china]# ls -l hunan/ 查看当前目录下hunan目录里的内容,显示详细信息
total 8
drwxr-xr-x 2 root root 4096 Mar 29 19:56 changsha
drwxr-xr-x 3 root root 4096 Mar 29 20:07 zhuzhou
[root@teacher china]# ls -h -l hunan 以人类能够看的懂的格式显示详细信息
total 8.0K
drwxr-xr-x 2 root root 4.0K Mar 29 19:56 changsha
drwxr-xr-x 3 root root 4.0K Mar 29 20:07 zhuzhou
[root@teacher china]# ls -l -h hunan 选项的顺序没有很大的关系
total 8.0K
drwxr-xr-x 2 root root 4.0K Mar 29 19:56 changsha
drwxr-xr-x 3 root root 4.0K Mar 29 20:07 zhuzhou
[root@teacher china]# ls -lh hunan 选项可以连在一起使用
total 8.0K
drwxr-xr-x 2 root root 4.0K Mar 29 19:56 changsha
drwxr-xr-x 3 root root 4.0K Mar 29 20:07 zhuzhou
[root@teacher china]# ls -lha hunan 查看hunan目录下所有的文件显示
total 16K
drwxr-xr-x 4 root root 4.0K Mar 29 20:07 .
drwxr-xr-x 6 root root 4.0K Mar 29 20:02 ..
drwxr-xr-x 2 root root 4.0K Mar 29 19:56 changsha
drwxr-xr-x 3 root root 4.0K Mar 29 20:07 zhuzhou
[root@teacher china]# ls -lha 查看 当前 目录下所有文件的详细信息
total 24K
drwxr-xr-x 6 root root 4.0K Mar 29 20:02 .
drwxr-xr-x 3 root root 4.0K Mar 29 19:54 ..
drwxr-xr-x 3 root root 4.0K Mar 29 19:56 fj
drwxr-xr-x 3 root root 4.0K Mar 29 19:56 gd
drwxr-xr-x 4 root root 4.0K Mar 29 20:07 hunan
drwxr-xr-x 3 root root 4.0K Mar 29 20:02 jilin
[root@teacher china]# ls -l -d hunan 查看hunan目录本身的详细信息
drwxr-xr-x 4 root root 4096 Mar 29 20:07 hunan
[root@teacher china]# ls -ld hunan 查看hunan目录本身的详细信息
drwxr-xr-x 4 root root 4096 Mar 29 20:07 hunan
pwd
显示当前所在的路径
[root@teacher ~]# pwd
/root
[root@teacher ~]#
/ 根目录
root用户的家目录/root
[root@teacher ~]# pwd
/root root用户的家目录
[root@teacher Desktop]# cd ~
[root@teacher ~]# pwd
/root
[root@teacher ~]# su - kankan 切换到普通用户
[kankan@zhaowei ~]$ pwd 查看kankan用户当前所在路径
/home/kankan kankan普通用户的家目录
[kankan@zhaowei ~]$ exit
logout
root用户和普通用户的家目录是不一样的,在不同的路径
切换用户: cd
cd 切换目录(从文件夹到另外一个文件夹)
cd: Change the current directory to dir.的缩写
cd . 进入当前目录,即不动
cd .. 返回到上一级目录
cd 进入当前用户的家目录
cd ~ 进入当前用户的家目录
cd ~xiangyang 进入xiangyang用户的家目录
cd / 进入根目录
cd - 回到上次所在目录并显示返回后所在路径(很有用,节省输入)
~ 是家目录
/ 是根目录
[root@teacher /]# cd / 进入根目录。所有的文件都存放在根目录下
cd ./tan=cd tan 即进入当前目录下的tan文件夹
cd ~tan 进入普通用户tan,去掉~不能访问(对比 su - tan)
cd ~tan是进入/home/tan目录下,而su - tan是切换到tan用户,路径也是/home/tan
cd ../yi 进入上一级目录下的yi文件(即同一级别的文件间跳转)
cd ../../yi 进入上一级目录又上一级目录下的yi文件
[root@teacher zhuzhou]# cd jt/ 后面多一个/,原因是按TAB键补齐的效果,接和不接/ 作用一样
举例:
[root@oratest tan]# cd
[root@oratest ~]# cd .
[root@oratest ~]# cd ..
[root@oratest /]# cd -
/root
[root@oratest ~]#
rpm 用法:
安装模式:rpm –i
查询模式:rpm –q
验证模式:rpm –V或 –verify
删除模式:rpm –e
1.安装一个包
# rpm -ivh
2.升级一个包
# rpm -Uvh
3.移走一个包
# rpm -e
4.安装参数
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装
# rpm -q < rpm package name>
6.得到被安装的包的信息
# rpm -qi < rpm package name>
7.列出该包中有哪些文件
# rpm -ql < rpm package name>
8.列出服务器上的一个文件属于哪一个RPM包
#rpm -qf
9.可综合好几个参数一起用
# rpm -qil < rpm package name>
10.列出所有被安装的rpm package
# rpm -qa
11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?
# rpm -qilp < rpm package name>
[root@teacher ~]# rpm -qa|wc -l 统计系统里安装了多少个软件
974
[root@teacher ~]# rpm -qf `which bash` 查看bash这个命令是通过那个软件安装过来的
bash-4.1.2-9.el6_2.i686
[root@teacher ~]# rpm -qf `which pwd` 查看pwd这个命令是通过那个软件安装过来的
coreutils-8.4-19.el6.i686
[root@teacher ~]# rpm -qf `which mkdir` 查看mkdir这个命令是通过那个软件安装过来的
coreutils-8.4-19.el6.i686
[root@station6 tan]# rpm -qf /bin/pwd 查看pwd是通过哪个软件安装过来的
coreutils-8.4-19.el6.i686
新建文件夹和文件
mkdir
参数:
-m 用于对新建目录设置存取权限(也可用chmod命令进行设置)
-p 需要时创建上层文件夹(或目录),如果文件夹已经存在则不视为错误,但也不做修改信息。
[root@tan ~]# mkdir hh 在root下建立hh文件夹
[root@tan ~]# cd
[root@tan ~]# cd hh/ 进入文件夹hh,有“/”与没有有什么区别?/是按tab键补齐的,指文件夹,没有也没关系。
[root@tan hh]# cd 进入家目录,如下
[root@tan ~]#
[root@teacher Desktop]# mkdir zhuzhou 新建一个文件夹zhuzhou
[root@teacher Desktop]# ls 查看当前文件夹的内容
123 Screenshot.png
1.png yangwei
fengdeyong yozo-calc.desktop
gnome-terminal.desktop yozo-impress.desktop
jack yozo-writer.desktop
linux1.txt zhuzhou
rose
[root@teacher Desktop]# cd zhuzhou 进入zhuzhou文件夹(目录)
[root@teacher zhuzhou]#mkdir .meinv 新建隐藏文件
[root@teacher china]# mkdir hunan gd fj 一次建立3个文件夹
[root@teacher china]# ls
fj gd hunan
[root@teacher china]# mkdir hunan/changsha 在hunan目录下新建一个changsha的文件夹
[root@teacher china]# mkdir gd/gz 在gd目录下新建gz目录
[root@teacher china]# mkdir fj/fz 在fj目录下新建fz目录
[root@teacher china]# tree 查看目录的结构
.
├── fj
│ └── fz
├── gd
│ └── gz
└── hunan
└── changsha
6 directories, 0 files
[root@teacher china]# yum install tree -y 如果没有tree命令则安装
touch
新建空文件 /存在则更改文件的时间
修改时间的几个参数验证下计入笔记
当文件存在的时候,就是更改文件的时间为系统当前时间,不存在就是去新建一个空文件
date 查看当前系统的时间
ls -l 可以显示文件的时间记录
[root@teacher hunan]# touch changsha/yuelvshan 在changsha目录下新建yuelvshan空文件
[root@teacher hunan]# ls changsha/
yuelvshan
[root@teacher hunan]# ls -l changsha/yuelvshan
-rw-r--r-- 1 root root 0 Mar 29 21:13 changsha/yuelvshan
[root@teacher china]# file yangdiguangchang 路径不对 ( file查看文件或文件夹类型 )
yangdiguangchang: cannot open `yangdiguangchang' (No such file or directory)
rm
删除文件或文件夹
请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用shred。
rm (remove)删除文件和文件夹的命令
rm - remove files or directories
-f, --force 强制删除
ignore nonexistent files, never prompt
-r, -R, --recursive 递归删除子文件夹和文件
[root@teacher hunan]# mkdir aa/bb/cc/dd/ee -p 新建测试目录
[root@teacher hunan]# ls
aa meinv.png qq.ext yandiguangchang zhuzhou.tar.gz
changsha qq.exe shuaige.png zhuzhou
[root@teacher hunan]# rm -rf aa 删除aa目录,没有任何提醒
注意:此命令是高危命令,一定要三思而行,删除后不会放到回收站里。
rm -rf / 不要使用此命令,后果很严重。系统全部没有了
[root@success jinyong]# rm -r xiaoaojianghu 删除文件夹下所有子文件
rm:是否进入目录"xiaoaojianghu"? y
rm:是否删除目录 "xiaoaojianghu/linghuchong"?y
rm:是否删除目录 "xiaoaojianghu/zhaomin"?y
rm:是否删除目录 "xiaoaojianghu/yilin"?y
rm:是否删除目录 "xiaoaojianghu"?y
rm结合通配符号的使用
* 通配任意个字符
? 通配一个字符
[root@teacher wuhan]# mkdir afg aui aix
[root@teacher wuhan]# ls
a aabbcc abcd aix b bbccdd
aa abc afg aui bb bcd
[root@teacher wuhan]# rm -rf a?? 删除以a开头,名字是3位字符的文件夹(当前)
[root@teacher wuhan]# ls
a aa aabbcc abcd b bb bbccdd bcd
[root@teacher wuhan]# rm -rf a* 删除以a开头的文件和文件夹(当前)
rm -rf wuhan/* 删除wuhan文件夹下的所有文件和文件夹,如果在wuhan目录下则不能用这个删除
[root@success hejiong]# rm -rf hejiong/*
[root@success hejiong]# ls
linzhixuan qiqin 内容还在
[root@success hejiong]#
rm -rf * 删除当前目录下所有的文件和文件夹,
[root@success hejiong]# rm -rf *
[root@success hejiong]# ls
[root@teacher hubei]# rm -rf wuhan/ 删除wuhan文件夹(如果在wuhan目录下则不能用这个删除)
[root@teacher hubei]# ls
abc ajfkdjfc apc ayc ayy shiyan wuhan
[root@teacher hubei]# rm -rf a*c 删除以a开头以c结尾的文件和文件夹(当前)
[root@teacher hubei]# ls
ayy shiyan wuhan
[root@teacher hubei]#
查看文件或者文件夹的大小
du - estimate file space usage disk usage
k、M、G、T、P、E
1k=1024byte
1M=1024K
1G=1024M(兆)
-h, --human-readable 人类能够读懂的格式显示
print sizes in human readable format (e.g., 1K
234M 2G)
-s, --summarize 汇总所有文件的大小
最常用的du -sh 【filename】
du -sh hunan 查看hunan目录总的大小,以人类能够看懂的格式显示
[root@teacher china]# du -sh hunan
20K hunan
[root@teacher china]# du -sh /boot 查看/boot目录的大小
45M /boot
[root@teacher china]# du -sh / 查看根目录的大小
29G /
[root@teacher china]# file hunan/yandiguangchang 查看hunan下面的yandiguangchang的属性
hunan/yandiguangchang: empty 空文件
[root@teacher china]#
[root@teacher china]# file hunan 查看hunan文件的类型
hunan: directory 目录
[root@teacher hunan]# file meinv.png
meinv.png: PNG image data, 1024 x 768, 8-bit/color RGB, non-interlaced 图片文件
[root@teacher hunan]# file zhuzhou.tar.gz
zhuzhou.tar.gz: POSIX tar archive (GNU) 压缩文件
file 查看文件的类型举例
.exe .xls .jpg .zip .mp3 .rmvb .jpeg
.gif .html .gip .wav .doc .docx .xml .rar .txt
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主要有三大功能:
#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 <
> 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 <
> jazz
> du pi wu
> qia qia wu
> pi li wu
> zombi wu
> eof
> EOF
[root@teacher lianxi]#
[root@teacher lianxi]# cat >hunantv <
> 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 <
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
| 管道符号 作用:将前面一个命令的输出送给后面一个命令作为输入的内容
(借花献佛)
======
less命令
用途:与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
tail命令
用途:查看文件结尾的少部分内容(默认为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]#
tac命令
用途:从最后一行倒着显示出文件的全部内容
[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
which命令
用途:查找可执行文件(命令)并显示所在的位置
[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)路径,该文件的相关原程序的路径,无执行权限也可查看,没有时不报错
mount挂载镜像命令:
[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: 根据分钟来查找
find . -size +1M | xargs ls -l
各条件之间的连接,"与"的关系用 -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
[root@localhost ~]#
history 命令
查看自己用了多少命令,历史命令(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
zip ,unzip
语法:
zip zip文件 源文件
参数:
-l 列出压缩文件所包含的内容
-v 显示详细的执行过程
不覆盖
[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 查看压文件里的内容
重要参数为:
-9(压缩最慢但是压缩比最好)
-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
hengshan linghuchong.zar.gz nice.txt.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]#
注意:哪种类型压缩文件只能用哪种解压命令解压
zip--》.zip
gzip ---》.gz
bzip2 --->.bz2
tar 五星级命令
用途:制作归档文件、释放归档文件
格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
tar 作用:创建压缩文件,用来备份,可以节约磁盘空间。
压缩
-czvf和czvf效果一样
解压
xf xvf 都可以解压(.tar.gz或者.tar.bz2) ,可以不接v选项
解压文件后会覆盖原文件 (压缩文件不被覆盖), 压缩的时候不会覆盖原文件
常用命令选项
-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,指定路径
创建压缩文件的时候,建议使用绝对路径指定目录和文件名比较好
[root@station6 tan]# ls
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(压缩过程中排除指定文件或目录)用的是长格式
[root@host liyang]# tar --exclude boot -cf wulin.tar.gz /root/tan/wulin/*
tar: 从成员名中删除开头的“/”
[root@host liyang]# ls
pwd-host-boot.tar.bz2 wulin.tar.gz
可以将文件(压缩文件也包括在内)或者文件夹一起打包并且压缩,加v显示压缩或解压过程
[root@teacher lianxi]# tar cjvf hunantv.tar.bz2 hunantv passwd shadow xiaohong xiaohui.gz
hunantv/
hunantv/hejiong
hunantv/wanghan
hunantv/duhaitao
hunantv/ouyidi
hunantv/daqianfeng
hunantv/xiena
passwd
shadow
xiaohong
xiaohui.gz