linux命令

? bin(binaries):存放可执行的二进制文件
? sbin(super user binaries):存放可执行的二进制文件,只有root用户才能访问
? boot:存放用于系统引导时使用的的各种文件
? dev(devices):用于存放设备文件
? etc(etcetera):存放系统配置文件【重要】
? root:超级用户(管理员)目录
? home:存放用户文件的根目录
? lib(library):存放根文件系统中的程序运行所需要的共享库及内核模块
? mnt(mount):系统管理员安装临时文件系统的安装点
? tmp(temporary):用于存放各种临时文件
? usr(Unix share resource):用于存放共享的的系统资源【重要】,一般我们都会把文件安装在该目录下
? var(variable):用于存放运行时需要改变数据的文件


1、 内部命令:help + 命令,例如help cd
2、 外部命令:man + 命令,例如 man ls

一:
操作文件或目录常用命令

        cd /         :根目录
        cd /a/b/c     :进入指定目录
        cd ~         :进入到用户的根目录root目录
        cd -         :返回到原来目录
        cd ..         :回退上一级
        cd ../b/c    :上一级的下一集
        pwd          :print working directory,显示当前工作目录
        ls            :查看当前目录下的所有文件,ls –la或者ll

        mkdir        :make directory,创建目录
                        mkdir directory1 directory2
                        mkdir -p  /home/orale/(创建多级目录)
        touch        :创建空文件
        echo        :向文件中添加内容echo “content” > x.txt; 追加数据:echo “content” >> x.txt
        cp            :copy,复制文件或者目录(递归持续复制 cp -r )
                        cp (复制档案或目录) 
                        [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) 
                        [root@linux ~]# cp [options] source1 source2 source3 …. directory 
                        参数: 
                        -a :相当于 -pdr 的意思; 
                        -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; 
                        -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; 
                        -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作! 
                        -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; 
                        -p :连同档案的属性一起复制过去,而非使用预设属性; 
                        -r :递归持续复制,用于目录的复制行为; 
                        -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; 
                        -u :若 destination 比 source 旧才更新 destination ! 
                        最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!
                        scp nginx-1.8.0.tar.gz 192.168.200.129:/root/
        mv            :move,移动文件或者目录、
                    (同一目录下就是改名)(mv a b c -t 目录)
                    
        rm            :remove,删除文件; -r:recursive,同时删除该目录下的所有文件; -f:force,强制删除文件或目录
        rmdir        :remove directory,删除空目录
        cat            :catenate,显示文件文件内容
        more、less    :分页显示文本文件内容  (空格:翻页)
        head、tail    :head|tail –n 5 a.log:查看a.log的前5行|或后5行数据;    tail –500f b.log:循环读取最后500行(ctrl+c退出)
        stat        :查看文件详情


常用命令

        wc            :word count,统计文本的字符个数、单词个数、行数
                        -l:统计该文本的行数; -w:统计该文本的单词个数; -m:统计该文本的字符个数;

        find        :在文件系统中查找指定的文件,例:find /usr/ -name “xxx.txt”
        grep        :在指定的文本文件中查找指定的字符串,例如:grep “hello” x.txt
        du            :显示指定的文件(目录)已使用的磁盘空间的总数
        free        :显示当前内存和交换空间的使用情况
        netstat        :显示网络状态信息   
        ifconfig    :网卡的网络配置信息
        ping        :测试网络的连通性
        ps            :显示瞬间的进程状态
        kill        :杀死一个进程,kill -9 pid
        df            :显示文件系统磁盘空间的使用情况
        ln            :link,建立连接文件(link),例如:ln –s family/son lnson

        
        netstat -ltunp    

文件搜索命令locate
命令搜索命令whereis和which
文件搜索命令find
字符串搜索命令grep
find命令与grep命令的区别

解压缩命令

        gzip(文件)                        :压缩文件(xxx.gz)    例:gzip 1.txt; 解压:gzip –d xxx.gz(或者gunzip xxx.gz)
        bzip2(文件)(相比.gz压的更狠)        :压缩文件(xxx.bz2)    例:bzip2 1.txt;解压:bzip2 –d xxx.bz2或者(bunzip2 xxx.bz2)
        tar    (文件夹)        :
                    -c 建立一个压缩文件的参数指令(create)
                    -x 解开一个压缩文件的参数指令(extract)
                    -z 是否需要用 gzip 压缩
                    -j 是否需要用 bzip2 压缩
                    -v 压缩的过程中显示文件(verbose)
                    -f 使用档名,在 f 之后要立即接档名(file)

                    1、    将当前目录打包:     tar –cvf bak.tar bak/
                    2、    解压:                tar –xvf bak.tar

                    3、    打包并压缩成gzip:    tar –zcvf bak.tar.gz bak.tar
                    4、    解压gzip:            tar –zxvf bak.tar.gz [-C /usr  解压到该目录下]

                    5、    打包并压缩成bz2:    tar -jcvf a.tar.bz2
                    6、    解压bz2:            tar -jxvf a.tar.bz2


        unzip abc.zip -d /solr    解压会散落在solr中(可以先建个文件夹)            

其他命令

        tab键        自动补全
        Ctrl+c        停止当前进程
        history        查看历史命令
        ↑ ↓键
        Ctrl+l        清屏,与clear命令作用相同
        Ctrl+r        搜索历史命令
        
        shutdown:系统关机
        -r:关机后立即重启
        -h:关机后不启动 shutdown -h now
        halt:关机后关闭电源
        reboot:重启
        
        su - root 提示密码(切换用户,- 表示环境变量跟着变):
        ubunto系统是: su do root


        date  当前时间

二:
vim编辑器

        vi/vim是Unix/Linux上最常用的文本编辑器而且功能非常强大
        vim        进入一般模式     :wq退出一般模式 ZZ(Shift+zz), q!(强制退出,不保存)  wq!(强制,退出)
        i a o   进入插入模式     Esc退出插入模式
        :        进入底层模式    命令回车即可退出
        /x  n N
        ?x  n N 
        :noh

插入命令:i a o(一般模式)

        i            :在当前光标前插入
        I            :在当前光标行首插入
        a            :在当前光标后插入
        A            :在当前光标行尾插入
        o            :在当前光标的下一行插入新行
        O            :在当前光标的上一行插入新行
        
定位命令:(底层模式)

        :set nu        :显示行号
        :set nonu    :取消行号
        :n            :到文本的第n行
        gg            :到文本第一行
        G            :到文本的最后一行

删除命令(好用)

        x            :删除光标所在处的字符
        nx            :删除光标所在处的n个字符
            
        dd            :删除光标所在行,
        ndd            : 删除n行
            
        dG            :删除光标所在行到末尾行的所有内容
        D            :删除光标所在处到行尾的内容
        
        :n1,n2d        :删除指定范围的行

复制粘贴命令
        yy            :复制当前光标行;
        nyy         : 复制n行
        p            :粘贴到该行下
        P            :粘贴到该行上
        

替换和取消命令
        u                :undo,取消上一步操作
        ctrl+r            :redo,返回到undo之前
        r                :替换光标所在处的字符
        R                :从光标所在处开始替换,按Esc键结束
                        
常用快捷键
        ZZ(Shift+zz)    :保存并退出,与”:wq”作用相同, q!不保存强制退出
        Ctrl+c            :结束当前进程
        Ctrl+r            :搜索历史命令
        Tab键            :自动补全


三:
关于Linux的配置

修改主机名
        vim /etc/sysconfig/network
        修改hostname=master即可,需要注意的是:主机名不能包含下划线或者中划线

修改ip
        vim /etc/sysconfig/network-scripts/ifcfg-eth0
        DEVICE="eth0"
        BOOTPROTO="static"          #修改
        HWADDR="00:0C:29:7D:A4:4E"
        IPV6INIT="yes"
        NM_CONTROLLED="yes"
        ONBOOT="yes"
        TYPE="Ethernet"
        UUID="f804bacc-f3e8-452b-ae55-3f97d3bf5108"
        IPADDR="192.168.31.251"     #添加 保证你的ip地址和net1在同一网段下
        NETMASK="255.255.255.0"     #添加
        GATEWAY="193.168.31.250"    #添加

修改主机名和IP的映射关系
        vim /etc/hosts
        最后一行添加 192.168.31.251    master

关闭防火墙

        cat /etc/sysconfig/hosts
        
        1、    查看防火墙强状态:service iptables status;
        2、    关闭防火墙:service iptables stop
        3、    查看防火墙是否开机启动:chkconfig iptables --list
        4、    查看该系统已哪种方式启动:vim /etc/inittab   1:单用户启动  3:多用户启动,server版  5:图形界面方式启动
        5、    关闭防火墙开机关闭:chkconfig iptables off

        service iptables restart

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

最后重启系统使设置生效即可。


四:
权限管理

三种基本权限
        r:read,    读权限
        w:write,    写权限
        x:execute,执行权限

        -rw-rw-r-- 1 ftpuser ftpuser 41894 Jul  3 22:27 girl.jpg
        第1位:        文件类型        (d 目录,- 普通文件,l 链接文件)
        第2-4位:    所属用户权限,    用u(user)表示
        第5-7位:    所属组权限,    用g(group)表示
        第8-10位:    其他用户权限,    用o(other)表示
        第2-10位:    表示所有的权限,用a(all)表示

        完整信息:一个文件,所属用户具有读写执行权限;所属组的用户
        有读写权限,没有执行权限;其他用户只有读权限

更改操作权限
        chmod:    修改文件权限命令(change mode)
            参数: -R 下面的文件和子目录做相同权限操作(Recursive递归的)
            
            例如:chmod  u+r  a.txt
            例如:chmod 750 a.txt
            
            用数字来表示权限 r=4,w=2,x=1,-=0
            rwx用二进制表示是111,十进制4+2+1=7
            r-x用二进制表示是101,十进制4+0+1=5


五:
Linux下安装软件

jdk安装

        设置执行权限:            chmod u+x jdk-7u45-linux-i586.bin
        解压缩:                tar -zxvf jdk-7u79-linux-x64.gz -C /usr/java/
                                --解压后是文件夹直接是jdk1.7.0_45
        添加环境变量
                1、                vim /etc/profile
                2、在/etc/profile文件最后添加
                                JAVA_HOME=/usr/java/jdk1.7.0_45
                                export PATH=$JAVA_HOME/bin:$PATH
                3, 更新配置:    source /etc/profile
                4, 验证:    java -version
        
    
eclipse安装    
        解压缩:tar -zxvf eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz -C /usr
        在linux桌面空白处,点击鼠标右键,弹出一个对话框,选择“create Launcher”:
        设置name、command(eclipse安装目录)、图标(icon.xpm)
        reboot:重启
    
    
tomcat安装
        apache-tomcat-7.0.47.tar.gz解压缩后文件夹是apache-tomcat-7.0.47
        运行 ./startup.sh
        查看日志: tail -500f apache-tomcat-7.0.47/logs/catalina.out

        
mysql的安装
    
        RPM安装mysql
        1、    上传mysql所需的RPM软件包
        2、    RPM文件安装顺序
            rpm -ivh perl-DBI-1.609-4.el6.i686.rpm
            rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm
            rpm -Uvh openssl-1.0.1e-16.el6_5.14.i686.rpm
            rpm -Uvh mysql-libs-5.1.73-3.el6_5.i686.rpm
            rpm -ivh mysql-5.1.73-3.el6_5.i686.rpm
            rpm -ivh mysql-server-5.1.73-3.el6_5.i686.rpm
        3、    启动mysql服务
            service mysqld start
            设置mysql密码:mysqladmin -u root password 'root'
            登录:mysql -u root -p
            退出:quit
            进入mysql数据库:show databases; use mysql; show tables; 等。

        注意:(这里使用的是32位的mysql的RPM软件包,和本机没有关系! 因此该Linux)
    
RPM是RPM package manager(RPM软件包管理器),是一种用于互联网下载包的打包及安装工具,
        它包含在某些Linux发行版本中。它生成具有.RPM扩展名的文件。
        它的主要功能:安装、卸载、升级和管理软件
        
        RPM常用参数介绍
            i    :安装应用程序(install)
            e    :卸载应用程序(erase)
            vh    :显示安装进度;(verbose   hash)
            
            U    :升级软件包;(update) 
            qa    : 显示所有已安装软件包(query all)
            
            -ql    :显示软件安装的目录
            结合grep命令使用
            例: rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
                查看安装rpm文件的位置: rpm -ql mysql
                查看rpm已经安装过的文件: rpm -qa|grep mysql    
原文地址:https://www.cnblogs.com/liuzhipeng/p/7571334.html