文件和目录操作
1. 查看目录
(1) tree命令 该命令是一个软件,需要额外安装
内核不同安装命令不同Ubuntu下为:sudo apt-get install <软件名>
CentOS下为:sudo yum -y install <软件名>
(2) ls -a 列出所有文件
(3) ls -l 列出文件的详细信息 <ls -la即l 和 a>
2. 创建目录
(1) mkdir <dirName> 创建一个目录 :例如mkdir test 创建test目录
(2) mkdir -p <dirPath> 创建一个复合目录:例如mkdir -p aa/bb/cc 则会在该目录下创建aa,aa下创建bb,再创建cc
3. 删除目录
(1) rmdir <Empty dirName> 删除一个空目录
(2) rm <Empty dirName> 删除一个文件或空目录
(3) rm -r <dirName> 递归删除一个目录 <rm -ri dirName会在删除时提示>
4. 创建文件
(1) touch <fileName> 如果文件不存在,则创建一个空的文件,如果文件存在,则修改文件最后更新时间
5. 拷贝文件
(1) cp <sourceFileName> <destFileName> 拷贝的文件如果destFileName不存在,则创建一个,如果存在,则擦除重写
(2) cp -r <sourceDirName> <destDirName> 递归拷贝一个目录,如果dest目录已存在,则直接将source目录放入dest中
6. 查看文件内容
(1) cat <fileName> 将文件中内容输出到命令行,适合查看小文件
(2) more <fileName> 先显示一页的内容,按换行键显示下一行,按空格键显示下一页<只能往后翻,q键或Ctrl + c退出>
(3) less <fileName> 先显示一页内容,按换行健显示下一行,按空格键显示下一页,Ctrl + p按行向前查看,Ctrl + n按行向后查看,Ctrl + b按页向前查看,Ctrl + f按页向后查看
(4) head [-num] <fileName> 显示文件前num行内容,默认显示前10行内容
(5) tail [-num] <fileName> 显示文件后num行内容,默认显示后10行内容
7. 文件重命名
(1) mv <oldFileName> <newFileName> 使用mv命令既能移动文件也能给文件该名
(2) mv <fileName> <dirName> 使用mv命令移动文件
8. 创建快捷方式
(1) ln -s <fileName> <linkName> (软链接)为fileName文件创建一个linkName快捷方式<fileName应该使用绝对路径>
(2) ln <fileName> <linkName> (硬链接)为fileName文件创建一个指向同一内存 位置的硬链接<硬链接计数,类似与C++中share_ptr>
9. 文件信息
(1) wc <txtFileName> 获取一个文本文件的行数,词数(空格区分),字节数,和文件的名字
(2) od [-t<>] <binaryFileName> 获取一个二进制文件的信息,c<ASCII>,d<10>,f<float>,o<8>,u<unsigned>,x<16>
(3) du -h 查看该目录下文件的大小
(4) df -h 查看该磁盘下的信息
10. which命令
(1) which <command> 查看命令的存储路径
文件详细信息的解读
x | x x x | x x x | x x x | x | x | x | x | x | x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1-->文件类型:普通文件<->; 目录文件<d>; 链接符号<l>; 块设备<b>; 字符设备<c>; socket文件<s>; 管道<p>
2 3 4-->文件权限:读2-->r; 写3-->w; 执行4-->x; 该组权限对应与文件所有者[12]对文件的权限
5 6 7-->文件权限:文件所属同组用户的权限,如果没有该权限用<->表示
8 9 10-->文件权限:其他人对于该的文件权限
11-->文件的硬链接数
12-->文件的所有者
13-->文件所属的组
14-->文件或者目录占用的空间:如果是一个普通文件,显示文件实际大小。如果是一个目录,表示当前目录占用的磁盘空间,不包括目录下文件的内容
15-->文件最后创建或修改的时间
16-->文件名
查看和修改文件权限
1. 修改权限
(1) chmod [who][+|-|=][mode] <fileName>
chmod: 命令
who: 修改权限的对象 -- u<所有者>, g<同组成员>, o<其他人>, a<所有人,默认为a>
[+|-|=]: 修改权限的操作 -- +<添加权限>, -<削减权限>, =<重新设置权限>
mode: 权限内容 -- r<读权限>, w<写权限>, x<执行权限>
fileName: 被修改权限的文件名
例如: chmod g+w mytest
(2) chmod [0-7][0-7][0-7] <fileName>
0: 无权限
1: x
2: w
4: r
2. 修改所属者和所属组--Linux中文件可以属于某一组中的某一用于A,而不属于A所在的组
(1) chown [who]:[group] <fileName> 将文件修改到指定用户名下,如果自己权限不够,使用sudo调用管理员权限
(2) chgrp [group] <fileName> 将文件改到指定组下
对于Linux下的目录而言,必须要有执行(x)权限,否则不能进到目录里去 文件查找
1. 按文件属性查找
(1) 文件名查找
find <findDir> -name "<findFileName>" 在指定目录下按文件名查找文件,不知道文件全名,可以使用通配符[*/?]
(2) 文件大小查找
find <findDir> -size <sizeOfFile> 大于使用+,小于使用-,等于=。单位:k<Kb>, M<Mb>, G<Gb>。+10k/-10M
find <findDir> -size <minSize> -size <maxSize> 查找两个size大小之间的文件
(3) 文件类型查找
find <findDir> -type <typeOfFile> 搜索指定类型的文件:f<普通文件>;目录文件<d>; 链接符号<l>; 块设备<b>; 字符设备<c>; socket文件<s>; 管道<p>
2. 按文件内容查找
(1) grep -r "<findText>" <findDir> 递归搜索目录下包含指定内容的文件
CentOS下软件的安装
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>
2. 卸载软件
rpm -qa | grep 包名
这个命令是为了把包名相关的包都列出来
rpm -e 文件名
这个命令就是你想卸载的软件,后面是包名称,最后的版本号是不用打的
例如:
# rpm -qa | grep mysql
mod_auth_mysql-2.6.1-2.2
php-mysql-5.3.9-3.15
mysql-devel-5.1.77-1.CenOS 5.2
mysql-5.0.77-1.CenOS 5.2
mysqlclient10-5.0.77-1.CentOS 5.2
libdbi-dbd-mysql-0.6.5-10.CentOS 5.2
# rpm -e mysqlclient
Ubuntu下软件安装
1. apt-get
apt-get install xxx 安装xxx 。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装
apt-get remove xxx 卸载xxx
apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
Tips:建议您经常使用“apt-get update”命令来更新您的软件信息数据库
2. dpkg
Ubuntu软件包格式为deb,安装方法如下:
sudo dpkg -i package.deb
dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包
3. 源码安装
安装大致可以分为三步骤:(./configure)–> 编译(sudo make) –> 安装(sudo make install)。
(1) 配置:这是编译源代码的第一步,通过 ./configure 命令完成。执行此步以便为编译源代码作准备。常用的选项有 --prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过 --help 查询。也有某些程序无需执行此步。
(2) 编译:一旦配置通过,可即刻使用 make 指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然仅下简单的指令,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。此时,需要根据出错提示分析以便找到应对之策。
(3) 安装:如果编译没有问题,那么执行 sudo make install 就可以将程序安装到系统中了。
例如:
//1.解压缩
tar -zxf nagios-4.0.2.tar.gz
//2.进入目录
cd nagios-4.0.2
//3.配置
./configure --prefix=/usr/local/nagios
//4.编译
make all
//5.安装
make install && make install-init && make install-commandmode && make install-config