Linux笔记(2)-基本命令

  1. 文件和目录操作
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> 查看命令的存储路径
  1. 文件详细信息的解读
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. 修改权限
    (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>    将文件改到指定组下
  1. 对于Linux下的目录而言,必须要有执行(x)权限,否则不能进到目录里去
  2. 文件查找
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>      递归搜索目录下包含指定内容的文件
  1. 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
  1. 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值