乐趣区

linux常用命令笔记大全

=================== 目录操作 ========================
mkdir: 创立目录
  -p : 递归的创立目录 也就是能够创立多层目录
  一次创立多个目录:mkdir {a,b,c,d,e,f}
  一次创立 a b c d e f 多个目录。rmdir:删除一个空文件夹
cp:复制文件或者文件夹

  -a =-pdr
  -p 同时复制文件属性,比方批改日期
  -d 复制时保留文件链接
  -r: 复制文件夹时, 递归复制子文件夹
  -l 不复制,而是创立指向源文件的链接文件,链接文件名由指标文件给出。note: 能够在拷贝的同时重命名
mv:挪动文件或者文件夹,能够在挪动的时候重命名

rm:删除文件或者文件夹
  -r:递归删除
  -f:强制删除 即没有揭示

====================== 文件解决命令 ==============================
ls : 查看文件
  -l 以列表模式查看
  -h 以一种人性化的形式查看,也是文件的大小以适合的单位显示
  -a 查看所有文件,包含暗藏文件
  -i 显示出文件的 i 节点号
touch 文件名:创立文件 能够一次创立多个文件,以空格隔开

cat : 查看文件内容 
  -n: 带行号
tac: 反向显示文件内容

more:分页查看文件内容
  进入浏览模式后:f 或者空格:下一页
  enter:一行一行往下翻
  q: 退出

less: 查看文件内容 
  空格翻页
  回车换行
  pageup:上一页
  pagedown:下一页
  上箭头:向上翻
  下箭头:向下翻
  / 搜索词 n 向下找

head -n 文件名 : 查看文件前 n 行。缺省 - n 显示前 10 行
tail -n 文件名:查看文件的开端几行
  -f : 动态显示文件开端内容

ln: 链接命令
  - s 创立软连贯
  硬链接和 cp - p 的区别是硬链接会同步更新
  源文件如果失落,硬链接仍然存在。硬链接和源文件的 i 节点雷同。硬链接不能夸分区,软连贯能够跨分区。硬链接不能够链接目录,链接能够
  软连贯文件具备的权限是 ugo 都是 rwx

==================== 权限治理命令 ==============
chmod: 批改文件或目录的权限,只有 root 和所有者能够更改
  [{ugoa}{+-=}{rwx}] [文件或目录] 
  [mode=421] [文件或目录]
  -R 递归批改
  权限的数字示意:r->4
  w->2
  x->1

  例:chmod u+x a.txt
    chmod g+w,o-r a.txt // 同时做多个权限的批改
    chmod g=rwx a.txt
    chmod 640 a.txt
    chmod -R 777 testdir // 把目录和上面所有文件的权限

            针对文件        针对目录
    r   读权限    能够查看文件内容    能够列出目录中的内容
    w    写权限    能够批改文件内容    能够在目录中创立、删除文件
    x     执行权限      能够执行文件      能够进入目录

chown: 更改文件所有者,只有 root 能够更改
  chown root a.txt// 把 a.txt 更改为 root 所有

chgrp: 更改所属组
  chgrp lambrother fengjie // 把 fengjie 的所属组更改为 lambrother

umask -S: 查看创立文件的缺省权限,即默认权限
umask 023: 批改文件的缺省权限为 777-023=754。即 rwxr-xr--

 

===================== 文件搜寻命令 ========================================
find: 搜寻制订范畴内的文件
  find [搜寻范畴] [匹配条件]
  -name 按文件名搜寻
  -iname 依据文件名查找,不辨别大小写
  -size + n 大于 - n 小于 n 等于 这个 n 是数据块,在 Linux 中一个数据块是 512 字节大小
  -user 依据所有者查找
  -group 依据所属组查找
  依据文件属性查找:-amin 拜访工夫 access
    -cmin 依据文件属性被批改的工夫 change
    -mmin 依据文件内容被批改的工夫 modify
  例:find /etc -cmin -5 : 查找 /etc 目录下五分钟内被批改过属性的文件和目录

  -a 两个条件同时满足
    find /etc -size +10 -a -size -50
  -o 两个条件满足一个即可

  -type 
    f 文件 d 目录 l 软连贯文件
  -inum 依据 i 节点查找

  对找到的后果进行操作
    -exec 或者 -ok 命令 {} \;
    例如:find /etc -name init* -exec ls -l {} \; 对找到的文件名按列表查看

  find /etc -name init : 搜寻目录 /etc 上面所有的 init 文件,准确匹配,包含子目录中的 init 文件
  find / -size +204800 搜寻大于 100M 的文件

locate:(查找速度十分快,因为它保护了一个文件库。毛病就是新建设的文件没有很快收录到文件库)
  locate 文件名
  updatedb 更新 locate 的文件资料库 文件资料库不收录 /tmp 下的文件
  -i 不辨别大小写

which : 查找命令的目录以及别名
  which 命令

whereis : 搜寻命令所在目录及帮忙文档门路。grep: 在文件中搜查字符串匹配的行并输入,多个文件以空格隔开。- i 不辨别大小写
  - v 排除指定字符串
  -E 以正则表达式的形式搜寻
  -F 以一般文本的形式搜寻
  -n 显示搜寻到的内容在文件中的行号。================== 帮忙命令 ======================
man:查看命令或者配置文件的帮忙信息
  man 命令 / 配置文件
  在手册外面,能够输出 / 要查找的 str
  man ls
  man services
  man fstab // 间接输出配置文件的名字,而不须要应用绝对路径 重点查看 name 选项和配置文件的格局。如果一个命令即便命令又是配置文件,那么能够应用一个序号进行辨别,比方:man 1 passwd 查看命令 passwd 的帮忙
  man 5 passwd 查看配置文件 passwd 的帮忙

whatis 命令:失去命令的简要信息

apropos 配置文件名:查看配置文件的简短信息

命令 --help:查看命令的选项。help 命令:查看 shell 内置命令的帮忙信息。shell 内置命令是没有命令门路。不能应用 man 查看帮忙。=================== 用户治理命令 ==========================================
useradd: 增加用户
  useradd 用户名

passwd: 批改用户明码
  passwd 用户名 不加用户名间接更改本人的明码

who: 查看以后的账户 显示的格局为:登录用户名 登录终端(tty: 本地登录 pts: 近程终端)登录工夫 ip 地址

  w: 查看更具体的用户登录信息。===================================== 压缩解压缩命令 ============================
.gz 格局
  压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了
  解压缩:gunzip/gzip -d 压缩包名称

tar:
  -zcvf 压缩后文件名 打包的目录 : 生成.tar.gz 文件 注:这个命令先用 tar 归档,而后把归档的包压缩成.gz
  -zxvf 要解压的文件名:解压缩.tar.bz2 的文件

  -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用 tar 归档,而后把归档的包压缩成.bz2
  -jxvf 要解压的文件名 : 解压.tar.bz2 的文件

zip:
  zip -r 压缩生成的文件名 要压缩的目录
  zip 压缩生成的文件名 要压缩的文件。unzip:
  unzip 要解压缩的文件

bzip2:
  bzip2 -k 要压缩的文件名 - k 选项:保留源文件
  bunzip2 -k 要解压的文件名 - k 选项:保留压缩包

 

=============== 网络命令 ==========================
write: 给在线用户发送信息,用户不在线不行。以 Ctrl+ D 保留
  write 用户名

wall: 给所有用户名发送信息
  wall 要发送的信息

ping: 测试网络连通性

  ping ip 地址 
  -c 要 ping 的次数

ifconfig:
  间接回车查看以后网卡信息
  ifconfig 网卡名 ip 地址 长期批改网络 ip
    ifconfig th0:0 192.168.1.100 netmask 255.255.255.0
      给 th0 这个网卡新增加一个 ip
    ifconfig eth0:0 down
    ifconfig eth0:0 up
ifdown th0
  禁用 th0 这块网卡

ifup th0
  开启 th0 这块网卡

mail: 邮件命令
  mail 要发送的用户名
  mail 间接回车:查看命令
    help : 查看反对的命令格局
    输出序列号:查看邮件具体内容
    h: 回到邮件列表
    d 序列号:删除序列号对应的邮件

last: 统计计算机所有用户登录的工夫信息,以及重启信息
lastlog: 所有用户最初一次登录的工夫
  -u 用户的 uid 查看指定用户的登录信息。traceroute: 显示数据包到主机间的门路
  traceroute 要探测的地址.
  -n 应用 ip 而不应用域名

nslookup www.baidu.com
  查看百度的 ip 地址

netstat: 显示网络相干信息
  -t :tcp 协定
  -u :udp 协定
  -l: 监听
  -r: 路由
  -n: 显示 ip 地址和端口号

  netstat -tlun: 查看本机监听的端口
  netstat -an: 查看所有的监听信息
  netstat -rn:查看路由表,即网管

wget 文件地址
  下载文件

service network restart: 重启网络服务。telnet 域名或 ip
  远程管理与端口探测
  如:telnet 192.168.2.3:80
    探测 192.168.2.3 是否开启了 80 端口

mount: 挂在命令
  mount -t iso9660 /dev/sr0 /mnt/cdrom : 把 sr0 挂在到 cdrom

============== 关机重启命令 ====================

shutdown: 这个关机命令更平安一些,不举荐应用其余关机命令。-h:关机
shutdown -h now shutdown -h 20:30
  -r: 重启 
shutdown -r now 
  -c: 勾销上次的关机命令

重启:init 6
  reboot

关机:init 0
  poweroff

  零碎运行级别:0 关机
    1 单用户 相似 windows 平安模式
    2 不齐全多用户,不含 nfs 服务
    3 齐全多用户
    4 未调配
    5 图形界面
    6 重启
  能够通过查看 /etc/inittab 来查看系统启动的运行级别
  runlevel: 查看以后的运行级别
  init n: 设置零碎运行级别

logout: 退出以后用户,返回到登录界面

 

============== 其余小技巧 ==========
\ 命令名字 : 应用原始的命令
  比方:ls 实际上是 ls --color auto
    \ls 就是原始的 ls


=============================================
一、软件包分类
  源码包
    脚本安装包
  特点:1. 开源
    2. 能够自由选择所需的性能
    3. 软件是编译装置,所以更加适宜本人的零碎,更加稳固也效率更高
    4. 卸载不便,即能够间接删除文件夹。毛病:1. 装置过程步骤较多,尤其装置较大的软件汇合时,容易呈现谬误
    2. 编译工夫较长,装置毕二进制安装时间长
    3. 因为是编译装置,装置过程中一旦报错老手很难解决


  二进制包(RPM 包、零碎默认包)
    长处:1. 包管理系统简略,只通过几个命令就能够实现包的装置、降级、查问和卸载
      2. 装置速度比源码包装置快的多
    毛病:1. 通过编译,不再能够看到源代码
      2. 性能抉择不如源码包灵便
      3. 依赖性

=============rpm 命令治理 - 包命名与依赖性 =======================================
1. RPM 包命名准则
  httpd-2.2.15-15.el6.centos.l.i686.rpm
    httpd 软件包名
    2.2.15 软件版本
    15 软件公布的次数
    el6.centos 适宜的 Linux 平台
    i686 适宜的硬件平台
    rpm rpm 包扩展名
    如果名字里有 noarch, 则示意所有平台都能够。2、rpm 包依赖性
    树形依赖:a->b->c 从后往前装置所依赖的包。环形依赖:a->b->c->a 解决办法:一次性装置三个包
    模块依赖:模块依赖查问网站:www.rpmfind.net 个别以.so. 数字结尾的依赖包,是库依赖包,只须要装置包含这个库的软件就能够主动装置好这个所需的库依赖包

包全名:操作的包是没有装置的软件包时,应用包全名,而且要留神门路。装置、降级时用
包名:操作曾经装置的软件包时,应用包名。是搜寻 /var/lib/rpm 中的数据库。个别查问,卸载时用

3. rpm 装置:rpm-ivh 包全名
    -i(install) 装置
    -v(verbose) 显示详细信息
    -h(hash) 显示进度
    --nodeps 不检测依赖性 个别都必须要检测

4. rpm 包降级:rpm -Uvh 包全名
    -U(upgrade) 降级
    -h

5. rpm -e 包名
  -e(erase) 卸载
  --nodeps 不查看依赖性

6. 查问是否装置
  rpm - q 包名 : 查问包是否装置
    -q(query) 查问
    -a(all) 所有
    -i(information) 查问软件信息
    -p(package) 查问未安装包信息
  rpm -ql 包名:查问包中文件装置地位(list) 注:包的装置门路在包生成的时候就确定了
  rpm -qlp 包全名:查问未安装包装置时会装置在哪里。rpm -qf 零碎文件名:查问系统文件属于哪个 rpm 包 注:零碎文件名必须是通过装置哪个包生成的文件
    -f: 查问系统文件属于哪个包
  rpm -qR 包名 查问已装置软件包的依赖性
    -r: 查问软件包的依赖性(requires)
  rpm -qRp: 查问未安装包的依赖性
    -p: 查问未安装包的依赖性

    例如:rpm -qa | grep httpd 查问所有 Apache 的包

7. rpm 包校验
  rpm -V 已装置的包名:如果没有提醒则示意没有被批改过
    -V 校验指定 rpm 包中的文件(verify)
    校验值的含意:S: 文件大小是否扭转
      M: 文件的类型或文件的权限 (rwx) 是否被扭转
      5:文件 MD5 校验和是否扭转(能够看成文件内容是否扭转)
      D: 设施的中,从代码是否扭转
      L: 文件门路是否扭转
      U: 文件的属主 (所有者) 是否扭转
      G: 文件的属组是否扭转
      T: 文件的批改工夫是否扭转

8. rpm 包中文件提取:rpm2cpio 包全名 | \
  cpio -div . 文件绝对路径

  rpm2cpio: 讲 rpm 包转换为 cpio 格局的命令 
  \ 表示命令没有输完, 在下一行持续输出
  cpio: 是一个规范工具,它用于创立软件档案文件和从档案文件中提取文件
  cpio 选项 <[文件 | 设施]
    -i copy-in 模式,还原
    -d: 还原时主动新建目录
    -v: 显示还原过程

  例如:rpm -qf /bin/ls #查看 ls 命令属于哪个包
    mv /bin/ls /tmp #将 ls 命令移走
    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取 rpm 珍重 ls 命令到当前目录的 /bin/ls 下
    cp /root/bin/ls /bin/ #把 ls 命令复制到 /bin/ 目录,修复文件失落

 

yum 在线治理:一、ip 地址配置
第 1 步:setup: 应用图形界面配置 ip 地址
第 2 步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把 ONBOOT="no" 改为 ONBOOT="yes" #启动网卡
第 3 步:service network restart : 重新启动网络服务。二、网络 yum 源
1. yum 源地位:/etc/yum.repos.d/CentOS-Base.repo, 这个是默认的网络 yum 源
  [base]    容器名称,肯定要放在 [] 中
  name  容器阐明,能够本人轻易写
  mirrorlist    镜像站点,这个能够正文掉
  baseurl   咱们的 yum 源服务器的地址,默认是 CentOS 官网的 yum 源服务器,是能够应用的,如果你感觉慢能够改成你喜爱的 yum 源地址
  enabled   此容器是否失效,如果不写或写成 enable= 1 都是失效,写成 enable= 0 就是不失效
  gpgcheck  如果是 1 是指 rpm 的数字证书失效,如果是 0 则不失效
  gpgkey    数字证书的公钥文件保留地位。不必批改。2. yum 命令
  yum list : 获取服务器上所有可用的软件的列表
  yum search 关键字:搜寻服务器上所有和关键字相干的包
  yum -y install 包名:装置软件包
    install: 装置
    -y: 主动答复 yes
  yum -y update 包名:降级软件包
    update: 降级
    -y: 主动答复 yes
    如果没有包名,就会降级所有的软件包,包含 Linux 内核。慎用
  yum -y remove 包名
    remove: 卸载
    -y: 主动答复 yes
    注:yum 会主动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。yum grouplist: 列出所有可用的软件组列表
  yum groupinstall 软件组名:装置指定软件组,组名能够由 grouplist 查问进去 注:如果查问进去的软件组名两头有空格,要应用 "" 引起来。yum groupremove 软件组名:卸载指定软件组

3. 光盘 yum 源
  1) 挂在光盘 mount /dev/sr0 /mnt/cdrom 
  2) 让网络 yum 源文件生效
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv Centos-Vault.repo Centos-Vault.repo.bak
  3) 批改光盘 yum 源文件
    vim CentOS-Media.repo
    [c6-media]
    name=CentOS-$releaserver -Media
    baseurl=file:///mnt/cdrom 
    #地址为你本人的光盘挂载地址
    #   file:///media/cdrom/
    #   file:///media/cdrecorder/
    #正文这两个不存在的地址
    gpgcheck=1
    enabled=1 #把 enabled= 0 改为 enabled=1,让这个 yum 配置文件失效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    留神:正文配置行的时候,# 符号肯定要写在结尾,不要轻易在配置文件某一行前面加正文,也不要轻易加空格。源码包治理
  1. 区别
    装置之前的区别:概念上的区别
    装置之后的区别:装置地位不同

  2. rpm 包装置地位(大多数)
    /etc/   配置文件装置目录
    /usr/bin/   可执行的命令装置目录
    /usr/lib/   程序所应用的函数库保留地位
    /usr/share/doc  软件的根本应用书册保留地位
    /usr/share/man/ 帮助文件保留地位    
  3. 源码包装置地位
    装置在指定地位当中,个别是
    /usr/local/ 软件名 / 
  4. 装置地位不同带来的影响
    rpm 包装置的服务能够应用零碎服务治理命令 (service) 来治理
    例如 rpm 包装置的 Apache 的启动办法是:/etc/rc.d/init.d/httpd start 注:服务的装置门路个别在:/etc/rc.d/init.d 下
    service httpd start 注:service 命令是红帽的专用命令, 只能治理 rpm 包装置的服务
源码包装置过程
  1. 装置筹备
    装置 C 语言编译器 gcc
    下载源码包
    http://mirror.bit.edu.cn/apach/httpd/   
  2. 装置注意事项
    源代码保留地位:/usr/local/src/
    软件装置地位:/usr/local/
    如何确定装置过程报错:装置过程进行并呈现 error、warning 或 no 的提醒  
  3. 源码包装置过程
    1)下载源码包
    2)解压缩下载的源码包
    3)进入解压缩目录 注:外面有个 INSTALL 是零碎装置的步骤阐明
    4)./configure 软件配置与查看
      定义须要的性能选项
      检测零碎环境是否合乎装置要求
      把定义好的性能选项和检测零碎环境的信息都写入 Makefile 文件,用于后续的编辑。./configure --prefix=/usr/local/apache2:定义装置地位 
    5)make : 编译
      如果后面有谬误,则应用 make clean 命令分明编译产生的临时文件
    6)make install: 编译装置
  4. 源码包的卸载
    不须要卸载命令,间接删除装置目录即可。不会遗留任何垃圾文件

脚本装置
  1. 脚本安装包
    脚本安装包并不是独立的软件包类型,常见装置的是源码包
    是人为把装置过程写成了主动装置的脚本,只有执行脚本,定义简略的参数,就能够实现装置
    十分相似于 windows 下软件的装置形式
  2. Webmin 的作用
    Webmin 是一个基于 web 的 Linux 系统管理界面,你就能够通过图形化的形式
    设置用户账号、Apache,DNS、文件共享等服务。3、webmin 装置过程
    1) 下载软件
      http;//sourceforge.net/projects/webadmin/files/webmin/
    2) 解压缩,并进入解压缩目录
    3) 执行装置脚本 ./setup.sh

 

其余命令

du -sh 文件名

ps 动态查看零碎过程,零碎默认装置
  ps -aux 应用 BSD 语法查看所有过程
  ps -ef 规范语法查看所有过程
    UID 程序被该 UID 所领有
    PID 就是这个程序的 ID 
    PPID 则是其下级父程序的 ID
    C CPU 应用的资源百分比
    STIME 系统启动工夫
    TTY 登入者的终端机地位
    TIME 应用掉的 CPU 工夫。CMD 所下达的指令为何
  ps -aux --sort -pcpu,-pmem
    依据 CPU 占用状况和内存占用状况来显示过程
  watch -n 1 'ps -aux --sort -pcpu,-pmem'
    每隔 1 秒监控一次过程状况

top 动静查看零碎的状态

lsof -Pti :8000
  通过端口号取得过程 pid

kill -9 pid
  杀死指定 pid 的过程,强行杀死。history
  查看历史命令

执行历史命令
  !! 执行上一条命令
  !n 执行历史命令的中第 n 条
  !-n 执行导数第 n 条
  !string 执行以 string 结尾的历史命令行
  !?string? 执行蕴含 string 的历史命令行


alias 
  给命令起别名

  alias 命令 ='别名'
  alias -p 查看已存在的别名

unlias 
  勾销别名
  unlias name

cal 
  查看某一年的日历,能够是 1 -9999 中的任意一年
  cal 88

zcat
  查看压缩包中的内容

sed -i 's#old#new#g' 文件名
  应用 new 替换文件中的 old

ssh root@192.168.8.15 "ifconfig"
  近程执行命令

bash -x 脚本名
  调试脚本

centos6 上的三个网络配置文件
  /etc/sysconfig/network-scripts/ifcfg-etho
  /etc/sysconfig/network
  /etc/resolv.conf # dns
退出移动版