• Linux常用命令


    windows
    操作系统
    Linux/Nuix
    Mac

    环境
    开发dev
    测试环境Test
    integration test(IT)集成测试环境
    system test(ST)系统测试环境
    SIT 集成系统测试环境
    SandBox 沙盒
    Pre 预生产
    生产;线上环境

    LINUX命令区分大小写
    #表示标注
    远程连接终端软件有
    Xshell,putty,SecureCRT

    查看IP
    ifconfig

    [mi@localhost ~]$ [用户名@服务器名 用户目前在的路径] $代表普通用户,#代表超级管理员
    文件夹说明
    home #用户的主目录
    bin #二进制,可执行文件,主要存放命令文件!!!
    sbin #system bin 系统二进制文件!!!
    selinux #系统文件!!!
    boot #系统文件!!!
    dev #外设
    etc #配置文件
    lib #系统资源库
    media #音频
    opt #用户软件安装路径
    var #用户软件安装路径
    usr #用户软件安装路径

    pwd
    打印当前路径
    /home/mi #当前用户根目录
    / #系统根目录

    cd 切换目录
    [mi@localhost ~]$ cd / #更改路径
    [mi@localhost /]$
    cd ~
    cd /home/mi
    cd 这三个执行都回到/home/mi

    ls
    [mi@localhost /]$ ls #查看当前路径内容
    [mi@localhost /]$ ls /home #查看/home下的内容

    绝对路径和相对路径
    cd /home/mi #从根目录开始就是绝对路径
    cd home/mi #从当前路径开始算起就是绝对路径
    ../ #代表上级目录
    ./ #代表当前目录,不用./也是当前目录


    命令 --help #命令的帮助文档
    man 命令 #查看命令的帮助文档

    退出键 q键

    ls -l /bin #以列的形式展现bin文件夹的内容
    ls -a #查看当前目录的所有内容


    文件管理
    文件夹

    mkdir ../aaa ./bbb ccc #同时创建名为aaa、bbb、ccc的文件夹,aaa在上一目录,bbb、ccc在当前目录
    #文件本来就存在,会返回提示:File exists.
    mkdir -p 2017/05/23 #即使2017/05路径不存在,依然可以创建,同时创建了2017、05、23这三个不同的上下级的文件


    rmdir 2017/05/23 2017/05/23 #23为空文件夹时,成功删除
    rmdir -p 2017/05/23 #先看23是否是空文件夹,是空文件夹删除;删除23后再判断05是否是空文件夹,是空文件夹删除05;依次类推
    rm -r 2017 #递归删除2017这个文件或者文件夹,即使里面有内容


    find 绝对路径 关键字 find /home -name '*a'


    mv aa bb #若bb存在,则把aa移动到bb下;若bb不存在,aa重命名为cc;
    mv aa ./bb/cc #若bb存在,cc不存在,则aa移动至bb下,重命名为cc;若bb存在,cc存在,则aa移动至bb/cc下面
    cp -r aa bb #若bb存在,则把aa复制到bb下;若bb不存在,aa复制并更名为cc; -r表示复制目录

    文本

    touch aa/hello.log #创建hello.log的文本文件,前提aa的路径必须存在


    rm hello.log #删除hello.log文本


    cat #适合查看内容较少的文本
    cat a.txt b.txt #查看a.txt和b.txt文件
    cat -n a.txt #查看a.txt且编号,空行也编号
    cat -b a.txt #查看a.txt且编号,空行不编号
    more
    more a.txt #分屏查看a.txt内容,且空格为翻页,仅能往后面翻页
    more a.txt b.txt #查看a.txt和b.txt的文件
    less
    less a.txt #查看a.txt,且可以搜索关键字
    #输入【/ a】查看【a】的关键字
    #按【n】或者【N】进行关键字翻页
    #按【Q】退出
    head
    head a.txt #只显示前10行
    head -30 a.txt #显示前30行
    tail
    tail a.txt #默认显示后10行
    tail -20 a.txt #显示后20行
    tail -20f a.txt #动态显示后20行,适用查看日志



    mv aa bb #若bb存在,则把aa移动到bb下;若bb不存在,aa重命名为cc;
    mv aa ./bb/cc #若bb存在,cc不存在,则aa移动至bb下,重命名为cc;若bb存在,cc存在,则aa移动至bb/cc下面
    cp aa bb #若bb存在,则把aa复制到bb下;若bb不存在,aa复制并更名为cc;


    编辑文件
    vi hello.log #和vim hello.log 编辑已存在的文件
    #按【i】键/【a】键进入编辑模式
    #按【Esc】退出编辑模式
    #按【:】【w】【q】保存并退出
    #按【Z】【Z】保存退出
    #按【:】【q】【!】强制退出
    y4y #非编辑状态下,复制4行
    d3d #非编辑状态下,删除3行
    u #非编辑状态下,撤销
    p #粘贴
    /a #查找关键字
    n #向下查找
    N #向上查找:n/N
    gg #定位首行
    G #定位末行
    $ #定位行尾
    :10 #行定位,(定位到第10行)
    ZZ #保存退出
    :set nu #编号

    强制退出
    按【Ctrl】+【Z】/【Ctrl】+【C】

    搜索
    find /home/mi -name 'hello' #在/home/mi下查找名称为hello的内容,精确查找
    find / -name 'hello*' #在根目录下,按名称查找包含hello的内容,模糊查找
    find / -name '?hello' #在根目录下,按名称查找包含hello的内容,且hello前面有一个字,模糊查找

    grep #不打开文件进行查找
    grep 'hello' a.txt #在a.txt中查找'hello',最后显示出关键字的整行内容,区分大小写
    grep -i 'hello' a.txt #不区分大小写查找'hello'

    查找命令
    whereis cd #查找到命令的位置

    用户管理(root用户才能进行操作)
    su root #切换成超级管理员

    adduser zhangsan #添加新用户 zhangsan,也可以写成useradd
    passwd zhangsan #给用户添加密码

    删前要进行退出操作,避免zangsan和root用户在切换
    userdel zhansan #仅删除zhangsan,其目录还在 /home/zhangsan还在,记录还在/etc/passwd
    rm -rf /home/zhangsan #递归且不提示删除zhangsan的家,-f用注意,提示最好,避免误删
    userdel -r zhangsan #递归删除zhangsan的东西,包括用户名和home下的家,包括/etc/passwd的记录


    cat /etc/passwd #查看是否增加成功,passwd是个文本,每增删一个用户,就会有相应记录

    passwd zhangsan

    组管理
    添加一个新用户时,会默认新建一个这个用户同名的组
    添加组
    groupadd sankou #添加sankou组
    gpasswd sankou #设置sankou组密码
    删除组
    groupdel sankou #删除sankou组
    查看
    cat /etc/group #查看组信息
    组成员
    添加组成员
    gpasswd -a pp sankou #将pp这个用户添加到sankou组里
    重新设置组成员
    gpasswd -M yy,zz sankou #sankou组以前的成员被删除,添加了yy,zz这2个用户进去
    删除组成员
    gpasswd -d pp sankou #将pp这个用户从sankou组里删除
    组管理员
    gpasswd -A pp sankou #将pp这个用户作为sankou组的管理员

    权限管理(ll命令可以看到权限)
    drwxr-xr-x. 12 root root 4096 Apr 10 04:09 usr
    点号前
    【d】【rwx】【r-x】【r-x】
    第一个字表示类型
    d表示目录,-表示文本文件,l表示快捷方式
    三种权限:
    r/4 -read可读 w/2 -write可写 x/1 -execute可执行 ,没有字母用-/0表示文本文件 数字也可以相加减进行
    可执行:对于文件夹,可以进入文件夹 ;对于文件,可以运行文件
    三种角色:
    用户【rwx】u 组【r-x】g 其他用户【r-x】o 所有用户a/ugo

    更改权限
    修改权限仅能是用户自己、或是root用户
    chmod [u/g/o][=/+/-][rwx] 文件 #重新给权限,u代表用户,g代表组,o代表其他用户,=为重新给权限,+表示加权限,-表示减权限
    chmod o+r db #给其他用户对文件(或文件夹)db读的权限
    chmod g+rwx,o+r,u-x abc.txt
    chmod ugo=rwx abc.txt
    chmod a=rwx abc.txt
    chmod 763 abc.txt #(数字依次设置用户,组,其他用户)
    chmod -R 777 a #a以及所有目录下的所有文件、文件夹权限递归修改为rwx

    更改所有者
    chown 新用户 文件名 #(只能root用户才有权限更改)
    chown wangmazi abc.txt

    更改组
    chgrp 新组名 文件名 #更改组



    文件压缩和解压缩
    zip
    压缩
    zip test.zip 20.log 30.log cc #将20.log、30.log和cc的文件夹压缩成test.zip格式,路径为当前路径
    # zip 压缩后的文件名 要压缩的文件
    解压
    unzip test.zip #解压test.zip ,解压到当前文件夹
    unzip test.zip -d ./ss #解压到当前ss文件夹下

    tar
    压缩(-v表示显示执行信息)
    -v或--verbose 显示指令执行过程。
    -z或--gzip或--ungzip 通过gzip指令处理备份文件。
    -f<备份文件>或--file=<备份文件> 指定备份文件。
    -c或--create 建立新的备份文件。
    -x或--extract或--get 从备份文件中还原文件。

    tar -cvf cc.tar cc bb.txt #将cc,bb.txt压缩成cc.tar
    tar -zcvf cc.tar.gz cc bb.txt #压缩成.tar.gz格式
    解压
    tar -xvf cc.tar #解压cc.tar
    tar -zxvf cc.tar.gz #解压cc.tar.gz格式
    tar -zxvf cc.tar.gz -C ./ss #解压到指定目录下
    系统管理
    网络管理
    ifconfig #查看ip地址
    ping www.baidu.com #查看连接速度
    service network status #查看网络状态
    磁盘管理
    du #查看磁盘文件使用(单位是kb)
    df #查看磁盘分区
    进程管理
    ps #(查看当前用户进程)
    ps -aux #(根据用户查看所有用户进程都在)
    top #(实时动态查看),前20条
    kill -9 9404 #强制关闭PID为9404的进程
    date #(查看服务器时间)
    系统开关机
    shutdown -h now #关机
    shutdown -h 18:00 #定时关机
    halt #待机
    reboot #重启
    shutdown -r now #重启

    文件名太长,可以按TAB键补全

    环境搭建

    文件上传工具:
    SecureFX、xftp、cutftp、Filezilla、WinSCP等等
    软件安装
    源码安装、
    解压
    tar -zxvf lrzsz-0.12.20.tar.gz #先解压.tar.gz的文件(先用SecureFX上传到/home/mi/test路径下)
    配置
    ./configure --prefix=/usr/local/lrzsz #在当前文件下配置,一般安装在 /opt、/usr、/var下,--preifx指定安装路径,不写安装路径就默认安装路径
    编译
    make
    安装
    make install
    软件使用(类似于windows下的执行某个软件)
    cd /usr/local/lrzsz/bin/lrz #绝对路径执行已安装软件的命令
    ./lrz #相对路径执行安装软件的命令
    #执行安装后的bin的lrz,执行本地命令,都可以使用【路径/命令】,必须要加路径,不管是相对还是绝对路径,这里可以写成 /usr/local/lrzsz/bin/lrz
    创建快捷方式
    cd /usr/local/bin #先切换到/usr/local/bin下
    ln -s /usr/local/lrzsz/bin/lrz lrz #创建快捷方式,下次可以直接使用lrz命令,不用再进入目录里使用
    卸载
    先找到路径,再删除,最好再搜索下

    rpm安装(跟源码包的区别就是已编译,源码未编译)
    安装
    rpm -ivh 包名.rpm #先上传,再切换到上传路径下,进行安装
    查找已安装的包
    rpm -qa #查询系统中所有已安装的安装包
    rpm -qa 'p11*' #查看p11开头的已安装的安装包
    rpm -qa 'p11' | grep -i 'p11' #可以通过管道查询,从前面的内容中输出作为后面的输入 输出|输入
    卸载
    rpm -e 完整包名 #卸载同时也要删除 rm -rf /var/lib/mysql,如果有依赖的话
    rpm -e 完整包名 --nodeps

    yum安装
    安装
    yum -y install mysql,php #安装,-y表示询问是否安装时,确认,这里安装了2个包,mysql和php这两个包,包名不带版本号等
    查询
    yum list
    更新
    yum update
    卸载
    yum remove mysql,php


    安装完mysql的操作
    检查mysql服务状态
    service mysql status
    重启mysql服务
    service mysql start
    进入mysql
    mysql -uroot -p密码
    进入mysql后修改mysql密码
    mysql> set password = password('123'); #修改密码为123
    mysql中的一些操作(操作结束均以【;】结尾表示)
    mysql>show databases; #查看数据库
    mysql>show tables; #查看表
    mydql>use 数据库; #使用某个数据库,可以在数据里进行创建、查找修改的操作

    作业:内网网段,网关,掩码,局域网,子网,各网段
    局域网网段
    C类局域网专用网段:192.168.0.1~192.168.255.254 很多公司网吧都是用这个网段 hoho
    B类局域网专用网段:172.16.0.1~172.31.255.254
    A类局域网专用网段:10.0.0.1~10.255.255.254
    几个特殊的IP地址:127.0.0.1为本地回路测试地址
    255.255.255.255代表广播地址
    0.0.0.0代表任何网络
    网络号全为0的代表本地网络和本地网段
    网络号全为1的代表所有的网络
    主机位全为0的代表某个网段的任何主机地址
    主机位全为1的代表该网段的所有主机
    网关
    网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统
    局域网
    局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

    若存在反向代理服务器(nginx)时,需用ssh跳转

    跳转命令:

      ssh root@192.168.1.3

    服务器间文件传输命令

      sftp root@192.168.1.3

      get 命令

           put命令


  • 相关阅读:
    Linux 下的dd命令使用详解
    理解Linux的inode
    2021.11.11
    转一篇DLL逆向的文章,适用于一般的dll逆向
    关于Exchange DSAccess组件目录检测机制
    一些KB
    Inside of my heart
    C/C++是程序员必须掌握的语言吗?
    一个自动检测并安装hotfix的脚本
    VC++中DLL的创建和使用
  • 原文地址:https://www.cnblogs.com/ceshixuexi/p/7673842.html
Copyright © 2020-2023  润新知