zoukankan      html  css  js  c++  java
  • Linux系统基础命令

    创始人林纳斯·托瓦兹

    什么是linux系统

    一个操作系统Windows、Mac os、Linux linus、Red hat、Centos。

    服务器

    一台性能比较好的电脑(24小时不关机)、托管在三大运营商、静态ip、VPS。

    Centos操作系统的基本使用

     基本命令

     Ssh远程登录一个远程管理linux系统的程序

         ssh -p 22 root@192.168.12.128

       ls 命令:查看当前目录下所有的文件和目录夹

       ll 命令:查看当前目录 下所有文件和文件夹,更详细(包括拥有者 时间 大小等信息)

    文本文件的编辑

     Vim

    命令行环境下面的一个文本文件编辑工具

    两个模式

    1. 命令模式
    2. 编辑模式
    3. 编辑文件

    a) Vim  文件名

    1. 命令模式进入编辑模式

        a) 输入i

    1. 编辑模式进入命令模式

        a) 输入esc

    1. 基本命令

        a) 保存并退出 :wq

        b) 强制退出 :q!

         c) 退出 :q

    在centos中安装软件

    可视化的文件管理工具:Winscp工具

        三种

    1. Yum 安装(类似MAVEN管理依赖包的思想)

        a) Yum install qq

    1. Rpm安装

        a) *.Rpm安装包的方法安装

    1. 源码动态编译安装       

    1.对目录和文件操作的命令

    cd /目录 进入这个目录
    
    cd .. 跳转到上一级目录
    
    cd / 跳转到根目录
    
    cd ../.. 返回上两级目录
    
    cd 进入个人的主目录
    
    cd ~user1 进入个人的主目录
    
    cd - 返回上次所在的目录
    
    pwd 显示工作路径
    
    ls 查看目录中的文件
    
    ls -F 查看目录中的文件
    
    ls -l 显示文件和目录的详细资料
    
    ls -a 显示隐藏文件
    
    mkdir dir1 创建一个叫做 'dir1' 的目录'
    
    mkdir dir1 dir2 同时创建两个目录
    
    mkdir -p /tmp/dir1/dir2 创建一个目录树
    
    rm -f file1 删除一个叫做 'file1' 的文件'
    
    rmdir dir1 删除一个叫做 'dir1' 的目录'
    
    rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
    
    rm -rf dir1 dir2 同时删除两个目录及它们的内容
    
    mv dir1 new_dir 重命名/移动 一个目录
    
    cp file1 file2 复制一个文件
    
    cp dir/* . 复制一个目录下的所有文件到当前工作目录
    
    cp -a /tmp/dir1 . 复制一个目录到当前工作目录
    
    cp -a dir1 dir2 复制一个目录
    
    ln -s file1 lnk1 创建一个指向文件或目录的软链接
    
    ln file1 lnk1 创建一个指向文件或目录的物理链接
    
    touch file1 创建一个文件

    2.对系统操作的命令

    shutdown -h now 关闭系统(1)
    
    init 0 关闭系统(2)
    
    telinit 0 关闭系统(3)
    
    shutdown -h hours:minutes & 按预定时间关闭系统
    
    shutdown -c 取消按预定时间关闭系统
    
    shutdown -r now 重启(1)
    
    reboot 重启(2)
    
    logout 注销 

    3.查看系统信息的命令

    arch 显示机器的处理器架构(1)
    
    uname -m 显示机器的处理器架构(2)
    
    uname -r 显示正在使用的内核版本
    
    dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
    
    hdparm -i /dev/hda 罗列一个磁盘的架构特性
    
    hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
    
    cat /proc/cpuinfo 显示CPU info的信息
    
    cat /proc/interrupts 显示中断
    
    cat /proc/meminfo 校验内存使用
    
    cat /proc/swaps 显示哪些swap被使用
    
    cat /proc/version 显示内核的版本
    
    cat /proc/net/dev 显示网络适配器及统计
    
    cat /proc/mounts 显示已加载的文件系统
    
    cat /etc/redhat-release 显示操作系统版本
    
    getconf LONG_BIT 显示是64位还是32位系统
    
    lspci -tv 罗列 PCI 设备
    
    lsusb -tv 显示 USB 设备
    
    date 显示系统日期
    
    cal 2007 显示2007年的日历表
    
    date 041217002007.00 设置日期和时间 - 月日时分年.秒
    
    clock -w 将时间修改保存到 BIOS

    4.文件搜索的命令

    find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
    
    find / -user user1 搜索属于用户 'user1' 的文件和目录
    
    find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
    
    find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
    
    find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
    
    locate *.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
    
    whereis file 显示一个二进制文件、源码或man的位置
    
    which file 显示一个二进制文件或可执行文件的完整路径

    5.查看文件内容

    cat file1 从第一个字节开始正向查看文件的内容
    
    tac file1 从最后一行开始反向查看一个文件的内容
    
    more file1 查看一个长文件的内容
    
    less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
    
    head -2 file1 查看一个文件的前两行
    
    tail -2 file1 查看一个文件的最后两行 5.挂载命令
    
    mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 (注:确定目录 '/ mnt/hda2' 已经存在)
    
    umount /dev/hda2 卸载一个叫做hda2的盘 (先从挂载点 '/ mnt/hda2' 退出)
    
    fuser -km /mnt/hda2 当设备繁忙时强制卸载
    
    umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件(当文件为只读或当磁盘写满时非常有用)
    
    mount /dev/fd0 /mnt/floppy 挂载一个软盘
    
    mount /dev/cdrom /mnt/cdrom 挂载一个光盘
    
    mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
    
    mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
    
    mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
    
    mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
    
    mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
    
    mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

    6.磁盘空间操作的命令

    df -h 显示已经挂载的分区列表
    
    ls -lSr |more 以尺寸大小排列文件和目录
    
    du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
    
    du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小

    7.用户和群组相关命令

    groupadd group_name 创建一个新用户组
    
    groupdel group_name 删除一个用户组
    
    groupmod -n new_group_name old_group_name 重命名一个用户组
    
    useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
    
    useradd user1 创建一个新用户
    
    userdel -r user1 删除一个用户 ( '-r' 同时删除除主目录)
    
    passwd user1 修改一个用户的口令 (只允许root执行)
    
    chage -E 2005-12-31 user1 设置用户口令的失效期限
    
    ls -lh 显示权限
    
    chmod 777 directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
    
    chmod 700 directory1 删除群组(g)与其他人(o)对目录的读写执行权限
    
    chown user1 file1 改变一个文件的所有人属性,为use1。
    
    chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性都为use1所有
    
    chgrp group1 file1 改变文件的群组为group1
    
    chown user1:group1 file1 改变一个文件的所有人和群组属性,所属组为group1,用户为use1。
    
    find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
    
    chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
    
    chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
    
    chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
    
    chmod g-s /home/public 禁用一个目录的 SGID 位
    
    chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
    
    chmod o-t /home/public 禁用一个目录的 STIKY 位

    8.打包和解压压缩文件的命令

    bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
    
    bzip2 file1 压缩一个叫做 'file1' 的文件
    
    gunzip file1.gz 解压一个叫做 'file1.gz'的文件
    
    gzip file1 压缩一个叫做 'file1'的文件
    
    gzip -9 file1 最大程度压缩
    
    rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
    
    rar a file1.rar file1 file2 dir1 打包 'file1', 'file2' 以及目录 'dir1'
    
    rar x file1.rar 解rar包
    
    unrar x file1.rar 解rar包
    
    tar -cvf archive.tar file1 创建一个非压缩的tar包
    
    tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 'dir1'的包
    
    tar -tf archive.tar 显示一个包中的内容
    
    tar -xvf archive.tar 释放一个包
    
    tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 (-c是指定目录)
    
    tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
    
    tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
    
    tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
    
    tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
    
    zip file1.zip file1 创建一个zip格式的压缩包
    
    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
    
    unzip file1.zip 解压一个zip格式压缩包

    9.关于RPM包的命令

    rpm -ivh package.rpm 安装一个rpm包
    
    rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
    
    rpm -U package.rpm 更新一个rpm包但不改变其配置文件
    
    rpm -F package.rpm 更新一个确定已经安装的rpm包
    
    rpm -e package_name.rpm 删除一个rpm包
    
    rpm -qa 显示系统中所有已经安装的rpm包
    
    rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
    
    rpm -qi package_name 获取一个已安装包的特殊信息
    
    rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
    
    rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
    
    rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
    
    rpm -q package_name --whatprovides 显示一个rpm包所占的体积
    
    rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
    
    rpm -q package_name --changelog 显示一个rpm包的修改历史
    
    rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
    
    rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
    
    rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
    
    rpm --checksig package.rpm 确认一个rpm包的完整性
    
    rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
    
    rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
    
    rpm -Va 检查系统中所有已安装的rpm包- 小心使用
    
    rpm -Vp package.rpm 确认一个rpm包还未安装
    
    rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
    
    rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
    
    rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

    10.YUM软件包升级器

    yum install package_name 下载并安装一个rpm包
    
    yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
    
    yum update package_name.rpm 更新当前系统中所有安装的rpm包
    
    yum update package_name 更新一个rpm包
    
    yum remove package_name 删除一个rpm包
    
    yum list 列出当前系统中安装的所有包
    
    yum list java* 查看所有java相关的安装包
    
    yum search package_name 在rpm仓库中搜寻软件包
    
    yum clean packages 清理rpm缓存删除下载的包
    
    yum clean headers 删除所有头文件
    
    yum clean all 删除所有缓存的包和头文件
    
    yum repolist all 查看yum所有源
    
    yum repolist enabled 查看yum启用的源

    11.Centos使用firewalld打开防火墙与端口

    # 1、firewalld的基本使用
    # 启动: 
    systemctl start firewalld
    # 查看状态: 
    systemctl status firewalld 
    # 停止: 
    systemctl disable firewalld
    # 禁用: 
    systemctl stop firewalld
     
    # 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
    
    # 启动一个服务:
    systemctl start firewalld.service
    # 关闭一个服务:
    systemctl stop firewalld.service
    # 重启一个服务:
    systemctl restart firewalld.service
    # 显示一个服务的状态:
    systemctl status firewalld.service
    # 在开机时启用一个服务:
    systemctl enable firewalld.service
    # 在开机时禁用一个服务:
    systemctl disable firewalld.service
    # 查看服务是否开机启动:
    systemctl is-enabled firewalld.service
    # 查看已启动的服务列表:
    systemctl list-unit-files|grep enabled
    # 查看启动失败的服务列表:
    systemctl --failed
     
    
    # 3.配置firewalld-cmd
    # 查看版本: 
    firewall-cmd --version
    # 查看帮助: 
    firewall-cmd --help
    # 显示状态: 
    firewall-cmd --state
    # 查看所有打开的端口: 
    firewall-cmd --zone=public --list-ports
    # 更新防火墙规则: 
    firewall-cmd --reload
    # 查看区域信息:  
    firewall-cmd --get-active-zones
    # 查看指定接口所属区域: 
    firewall-cmd --get-zone-of-interface=eth0
    # 拒绝所有包:
    firewall-cmd --panic-on
    # 取消拒绝状态: 
    firewall-cmd --panic-off
    # 查看是否拒绝: 
    firewall-cmd --query-panic
     
    # 那怎么开启一个端口呢
    # 添加
    firewall-cmd --zone=public --add-port=80/tcp --permanent   
    #  (--permanent永久生效,没有此参数重启后失效)
    # 重新载入
    firewall-cmd --reload
    # 查看
    firewall-cmd --zone= public --query-port=80/tcp
    # 删除
    firewall-cmd --zone= public --remove-port=80/tcp --permanent
  • 相关阅读:
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) C 倒序并查集
    hdu 5573 Binary Tree 构造
    hdu 5514 Frogs 容斥思想+gcd 银牌题
    hdu 5536 Chip Factory 字典树+bitset 铜牌题
    LA 7263 Today Is a Rainy Day bfs+暴力 银牌题
    hdu 5834 Magic boy Bi Luo with his excited tree 树形dp+转移
    hdu 5869 Different GCD Subarray Query BIT+GCD 2016ICPC 大连网络赛
    LA 7043 International Collegiate Routing Contest 路由表 字典树离散化+bitset 银牌题
    校验注解工具类
    java-创建对象实例
  • 原文地址:https://www.cnblogs.com/lin02/p/11520339.html
Copyright © 2011-2022 走看看