精华内容
下载资源
问答
  • Linux入门基础 #7 Linux系统常用命令

    千次阅读 2018-03-31 23:37:02
    Linux入门基础 ...#7 Linux系统常用命令 日期时间 命令date用以查看、设置当前系统时间 date -u 查看格林威治时间(UTC) date -s "xx:xx:xx" 设置时间(需要super用户权限) +...

    Linux入门基础

    网课地址:http://study.163.com/course/courseMain.htm?courseId=232007

    #7 Linux系统常用命令

    日期时间

    • 命令date用以查看、设置当前系统时间
    date -u            查看格林威治时间(UTC)
    date -s "xx:xx:xx" 设置时间(需要super用户权限)
    +%Y--%m--%d        格式化显示时间
    • 命令hwclockclock用以显示硬件时钟时间
    • 命令cal用以查看日历
    • 命令uptime用以查看系统运行时间

    输出、查看命令

    • 命令echo用以显示输入的内容
    • 命令cat用以显示文件内容
    • 命令head用以显示文件的头几行(默认10行)
    -n      指定显示的行数
    • 命令tail用以显示文件的末尾几行(默认10行)
    -n      指定显示的行数
    -f      追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的内容)
    • 命令more用于翻页显示文件内容(只能向下翻页)
    • 命令less用于翻页显示文件内容(带上下翻页)

    查看硬件信息

    • 命令lspci用以查看PCI设备

      Windows上的“设备管理器”

    • 命令lsusb用以查看USB设备

    -v      查看详细信息
    • 命令lsmod用以查看加载的模块(驱动)

    关机、重启

    • 命令shutdown用以关闭、重启计算机
      格式为:
    shutdown [关机、重启] 时间

    常用参数有:

    -h      关闭计算机
    -r      重新启动

    如:

    shutdown -h now     立即关机
    shutdown -h +10     10分钟后关机
    shutdown -h 23:30   23:30分关机
    shutdown -r now     立即重启
    • 命令poweroff用以立即关闭计算机
    • 命令reboot用以立即重启计算机

    归档、压缩

    • 命令zip用以压缩文件
    zip linuxcast.zip myfile
    • 命令unzip用以解压缩zp文件
    unzip linuxcast.zip
    • 命令gzip用以压缩文件
    gzip linuxcast.net
    • 命令tar用以归档(archive)文件
    tar -cvf out.tar linuxcast
    tar -xvf linuxcast.tar
    tar -cvzf backup.tar.gz/etc
        -z参数将归档后的归档文件进行gzip压缩以减少大小

    查找

    • 命令locate用以快速查找文件、文件夹:
    locate keyword

    此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工建立、更新数据库:

    updatedb
    • 命令find用以高级查找文件、文件夹:
    find 查找位置 查找参数

    如:

    find . -name *linuxcast* 

    指当前目录下基于文件名查找文件名包含linuxcast的文件。
    再比如:

    find / -name *.conf
    find / -perm 777
    find / -type d
    find . -name"a*" -exec ls -l{} \;

    其中

    -perm       指定权限查找(数字)
    
    -type       指定类型查找
    -type d     查找目录类型文件
    
    find . -name"a*" -exec ls -l{} \;
    查找以a开头的文件并返回这些文件的详细信息

    总结一下find的常用查找条件,有:

    -name       按用户名查找
    -perm       指定权限查找(数字)
    -user       按用户查找
    -group      按组查找
    -ctime      基于修改时间查找
    -type       指定类型查找
    -size       指定大小查找
    展开全文
  • Linux常用命令

    万次阅读 多人点赞 2018-11-08 11:49:23
    一、基本命令 1.1 关机和重启 1.2 帮助命令 二、目录操作命令 2.1 目录切换 cd 2.2 目录查看 ls [-al] 2.3 目录操作【增,删,改,查】 2.3.1创建目录【增】 mkdir 2.3.2删除目录或文件【删】rm 2.3.3目录...

    目录

     

    一、基本命令

    1.1 关机和重启

    1.2 帮助命令

    二、目录操作命令

    2.1 目录切换 cd

    2.2 目录查看 ls [-al]

    2.3 目录操作【增,删,改,查】

    2.3.1 创建目录【增】 mkdir

    2.3.2 删除目录或文件【删】rm

    2.3.3 目录修改【改】mv 和 cp

    2.3.4 搜索目录【查】find

    三、文件操作命令

    3.1 文件操作【增,删,改,查】

    3.1.1 新建文件【增】touch

    3.1.2 删除文件 【删】 rm

    3.1.3 修改文件【改】 vi或vim

    3.1.4 文件的查看【查】

    3.2 权限修改

    四、压缩文件操作

    4.1 打包和压缩

    4.2 解压

    五、查找命令

    5.1 grep

    5.2 find

    5.3 locate

    5.4 whereis

    5.5 which

    六、su、sudo

    6.1 su

    6.2 sudo

    七、系统服务

    八、网络管理

    8.1 主机名配置

    8.2 IP 地址配置

    8.3 域名映射

    九、定时任务指令crontab 配置

    9.1 命令格式

    9.2 配置说明、实例

    十、其他命令

    10.1 查看当前目录:pwd

    10.2 查看进程:ps -ef

    10.3 结束进程:kill

    10.4 网络通信命令:

    10.5 配置网络

    10.6 重启网络

    10.7 切换用户

    10.8 关闭防火墙

    10.9 修改文件权限

    10.10 清屏

    10.11 vi模式下快捷键

    十一、Linux项目部署

    11.1 安装jdk1.8

    11.2 安装MySQL5.6

    11.2.1 上传MySQL5.6的tar包

    11.2.2 安装

    11.2.3 开机自动启动设置

    11.2.4 开启远程访问

    11.3 安装tomcat部署项目

    11.3.1 创建ucenter用户

    11.3.2 安装Tomcat

    11.3.3 部署用户管理项目

    11.4 Linux下使用FastDFS

    11.4.1 安装gcc

    11.4.2 安装libevent

    11.4.3 安装libfastcommon-master

    11.4.4 安装fastdfs

    11.4.5 配置并启动tracker服务

    11.4.6 配置并启动storage服务

    11.5 安装fastdfs-nginx-module

    11.5.1 解压

    11.5.2 修改config

    11.5.3 配置nginx与FastDFS关联配置文件

    11.6 安装Nginx的插件

    11.6.1 如果没有安装过nginx

    11.6.2 如果已经安装过nginx

    11.6.3 启动nginx

    11.6.4 设置nginx开机启动

    11.7 安装Elasticsearch

    11.7.1 新建一个用户leyou

    11.7.2 上传安装包,并解压

    11.7.3 修改配置

    11.7.4 运行

    11.7.5 错误1:内核过低

    11.7.6 错误2:文件权限不足

    11.7.7 错误3:线程数不够

    11.7.8 错误4:进程虚拟内存

    11.7.9 重启终端窗口

    11.8 安装RabbitMQ

    11.8.1 安装Erlang

    11.8.2 安装RabbitMQ

    11.8.3 设置配置文件

    11.8.4 启动、停止

    11.8.5 开启web界面管理工具

    11.8.6 设置开机启动

    11.8.7 防火墙开放15672端口

    11.9 redis安装和配置

    11.9.1 安装

    11.9.2 配置

    11.9.3 启动或停止

    11.9.4 设置开机启动


    一、基本命令

    1.1 关机和重启

    关机
        shutdown -h now        立刻关机
        shutdown -h 5        5分钟后关机
        poweroff            立刻关机
    重启
        shutdown -r now        立刻重启
        shutdown -r 5        5分钟后重启
        reboot                立刻重启

    1.2 帮助命令

    --help命令
      shutdown --help:
      ifconfig  --help:查看网卡信息
     
    man命令(命令说明书) 
      man shutdown
      注意:man shutdown打开命令说明书之后,使用按键q退出

    二、目录操作命令

    2.1 目录切换 cd

    命令:cd 目录

    cd /        切换到根目录
    cd /usr        切换到根目录下的usr目录
    cd ../        切换到上一级目录 或者  cd ..
    cd ~        切换到home目录
    cd -        切换到上次访问的目录

    2.2 目录查看 ls [-al]

    命令:ls [-al]

    ls                查看当前目录下的所有目录和文件
    ls -a            查看当前目录下的所有目录和文件(包括隐藏的文件)
    ls -l 或 ll       列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
    ls /dir            查看指定目录下的所有目录和文件   如:ls /usr

    2.3 目录操作【增,删,改,查】

    2.3.1 创建目录【增】 mkdir

    命令:mkdir 目录

    mkdir    aaa            在当前目录下创建一个名为aaa的目录
    mkdir    /usr/aaa    在指定目录下创建一个名为aaa的目录

    2.3.2 删除目录或文件【删】rm

    命令:rm [-rf] 目录

    删除文件:
    rm 文件        删除当前目录下的文件
    rm -f 文件    删除当前目录的的文件(不询问)

    删除目录:
    rm -r aaa    递归删除当前目录下的aaa目录
    rm -rf aaa    递归删除当前目录下的aaa目录(不询问)

    全部删除:
    rm -rf *    将当前目录下的所有目录和文件全部删除
    rm -rf /*    【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

    注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

    2.3.3 目录修改【改】mv 和 cp

    一、重命名目录
        命令:mv 当前目录  新目录
        例如:mv aaa bbb    将目录aaa改为bbb
        注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行    重命名的操作

    二、剪切目录
        命令:mv 目录名称 目录的新位置
        示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面     mv /usr/tmp/aaa /usr
        注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

    三、拷贝目录
        命令:cp -r 目录名称 目录拷贝的目标位置   -r代表递归
        示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面     cp /usr/tmp/aaa  /usr
        注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不    用写-r递归

    2.3.4 搜索目录【查】find

    命令:find 目录 参数 文件名称
    示例:find /usr/tmp -name 'a*'    查找/usr/tmp目录下的所有以a开头的目录或文件

    三、文件操作命令

    3.1 文件操作【增,删,改,查】

    3.1.1 新建文件【增】touch

    命令:touch 文件名
    示例:在当前目录创建一个名为aa.txt的文件        touch  aa.txt

    3.1.2 删除文件 【删】 rm

    命令:rm -rf 文件名

    3.1.3 修改文件【改】 vi或vim

    【vi编辑器的3种模式】
        基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
    1) 命令行模式command mode)
          控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
          命令行模式下的常用命令:
          【1】控制光标移动:↑,↓,j
          【2】删除当前行:dd 
          【3】查找:/字符
          【4】进入编辑模式:i o a
          【5】进入底行模式::
          
    2) 编辑模式(Insert mode)
          只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
          编辑模式下常用命令:
          【1】ESC 退出编辑模式到命令行模式;
          
    3) 底行模式(last line mode)
         将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
         底行模式下常用命令:
         【1】退出编辑:   :q
         【2】强制退出:   :q!
         【3】保存并退出:  :wq

    打开文件

    命令:vi 文件名
    示例:打开当前目录下的aa.txt文件     vi aa.txt 或者 vim aa.txt

    注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。

    编辑文件

    使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

    i:在光标所在字符前开始插入
    a:在光标所在字符后开始插入
    o:在光标所在行的下面另起一新行插入

    保存或者取消编辑

    保存文件:

    第一步:ESC  进入命令行模式
    第二步::     进入底行模式
    第三步:wq     保存并退出编辑

    取消编辑:

    第一步:ESC  进入命令行模式
    第二步::     进入底行模式
    第三步:q!     撤销本次修改并退出编辑

    3.1.4 文件的查看【查】

    文件的查看命令:cat/more/less/tail

    cat:看最后一屏

    示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
    cat sudo.conf

    more:百分比显示

    示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
    more sudo.conf

    less:翻页查看

    示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上    和向下翻页,q结束查看
    less sudo.conf

    tail:指定行数或者动态查看

    示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束  
    tail -10 sudo.conf

    3.2 权限修改

    rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

    示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------

    第一位:-就代表是文件,d代表是文件夹
    第一段(3位):代表拥有者的权限
    第二段(3位):代表拥有者所在的组,组员的权限
    第三段(最后3位):代表的是其他用户的权限

       421  421  421
    -  rw-   ---     ---

    命令:chmod +x aaa.txt
    或者采用8421法
    命令:chmod 100 aaa.txt

    四、压缩文件操作

    4.1 打包和压缩

    Windows的压缩文件的扩展名  .zip/.rar
    linux中的打包文件:aa.tar      
    linux中的压缩文件:bb.gz    
    linux中打包并压缩的文件:.tar.gz

    Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
    而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

    命令:tar -zcvf 打包压缩后的文件名 要打包的文件
    其中:z:调用gzip压缩命令进行压缩
      c:打包文件
      v:显示运行过程
      f:指定文件名
      
    示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
    tar -zcvf ab.tar aa.txt bb.txt 
    或:tar -zcvf ab.tar  *

    4.2 解压

    命令:tar [-zxvf] 压缩文件    
    其中:x:代表解压
    示例:将/usr/tmp 下的ab.tar解压到当前目录下

    示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
    tar -xvf ab.tar -C /usr------C代表指定解压的位置

    五、查找命令

    5.1 grep

    grep命令是一种强大的文本搜索工具

    使用实例:

    ps -ef | grep sshd  查找指定ssh服务进程 
    ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 
    ps -ef | grep sshd -c 查找指定进程个数 

    5.2 find

    find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。 

    find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

    使用实例:

    find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
    find /root/ -perm 600   查找/root/目录下权限为600的文件 
    find . -type f -name "*.log"  查找当目录,以.log结尾的普通文件 
    find . -type d | sort   查找当前所有目录并排序 
    find . -size +100M  查找当前目录大于100M的文件

    5.3 locate

    locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory该错误!updatedb即可!

    yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令

    使用实例:

    updatedb
    locate /etc/sh 搜索etc目录下所有以sh开头的文件 
    locate pwd 查找和pwd相关的所有文件

    5.4 whereis

    whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

    使用实例:

    whereis ls    将和ls文件相关的文件都查找出来

    5.5 which

    which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

    使用实例:

    which pwd  查找pwd命令所在路径 
    which java  查找path中java的路径 

    六、su、sudo

    6.1 su

    su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

    su test:切换到test用户,但是路径还是/root目录
    su - test : 切换到test用户,路径变成了/home/test
    su : 切换到root用户,但是路径还是原来的路径
    su - : 切换到root用户,并且路径是/root

    su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。

    退出返回之前的用户:exit

    6.2 sudo

    sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

    进入sudo配置文件命令:

    vi /etc/sudoer或者visudo
    案例:
    允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
    hadoop  ALL=(ALL)   ALL 
    
    案例:
    只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。 
    配置文件中: 
    hadoop  ALL=NOPASSWD:  /bin/ls, /bin/cat 

    七、系统服务

    service iptables status  --查看iptables服务的状态
    service iptables start  --开启iptables服务
    service iptables stop  --停止iptables服务
    service iptables restart  --重启iptables服务
    
    chkconfig iptables off  --关闭iptables服务的开机自启动
    chkconfig iptables on  --开启iptables服务的开机自启动

    八、网络管理

    8.1 主机名配置

    [root@node1 ~]# vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=node1

    8.2 IP 地址配置

    [root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

    8.3 域名映射

    /etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址。

    [root@node1 ~]# vi /etc/hosts
    #### 在最后加上
    192.168.52.201  node1
    192.168.52.202  node2
    192.168.52.203  node3

    九、定时任务指令crontab 配置

    crontab是Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

    crontab安装:

    yum install crontabs

    服务操作说明:

    service crond start   ## 启动服务 
    service crond stop    ## 关闭服务 
    service crond restart ## 重启服务

    9.1 命令格式

    crontab [-u user] file

    crontab [-u user] [ -e | -l | -r ]

    参数说明:

    -u user:用来设定某个用户的crontab服务  

    file:file是命令文件的名字,表示将file做为crontab的任务列表文件

    并载入crontab。

    -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前

    用户的crontab文件。

    -l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前

    用户的crontab文件内容。

    -r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab

    文件,如果不指定用户,则默认删除当前用户的crontab文件。

    命令示例:

    crontab file [-u user] ## 用指定的文件替代目前的crontab
    crontab -l [-u user]  ## 列出用户目前的crontab
    crontab -e [-u user]  ## 编辑用户目前的crontab

    9.2 配置说明、实例

    命令:*   *    *   *   *   command  

    解释:分  时  日  月  周  命令

    第1列表示分钟1~59 每分钟用*或者 */1表示    

    第2列表示小时0~23(0表示0点)

    第3列表示日期1~31  

    第4列表示月份1~12  

    第5列标识号星期0~6(0表示星期天)  

    第6列要运行的命令

    配置实例:

    先打开定时任务所在的文件:
    crontab -e
    
    每分钟执行一次date命令 
    */1 * * * * date >> /root/date.txt
    
    每晚的21:30重启apache。 
    30 21 * * * service httpd restart
    
    每月1、10、22日的4 : 45重启apache。  
    45 4 1,10,22 * * service httpd restart
    
    每周六、周日的1 : 10重启apache。 
    10 1 * * 6,0 service httpd restart
    
    每天18 : 00至23 : 00之间每隔30分钟重启apache。
    0,30   18-23    *   *   *   service httpd restart
    晚上11点到早上7点之间,每隔一小时重启apache
    *  23-7/1    *   *   *   service httpd restart

    十、其他命令

    10.1 查看当前目录:pwd

    命令:pwd     查看当前目录路径

    10.2 查看进程:ps -ef

    命令:ps -ef    查看所有正在运行的进程

    10.3 结束进程:kill

    命令:kill pid 或者 kill -9 pid(强制杀死进程)           pid:进程号

    10.4 网络通信命令:

    ifconfig:查看网卡信息

    命令:ifconfig 或 ifconfig | more

    ping:查看与某台机器的连接情况

    命令:ping ip

    netstat -an:查看当前系统端口

    命令:netstat -an

    搜索指定端口
    命令:netstat -an | grep 8080

    10.5 配置网络

    命令:setup

    10.6 重启网络

    命令:service network restart

    10.7 切换用户

    命令:su - 用户名

    10.8 关闭防火墙

    命令:chkconfig iptables off

    或者:

     iptables -L;
     iptables -F;
     service iptables stop

    10.9 修改文件权限

    命令:chmod 777

    10.10 清屏

    命令:ctrl + l

    10.11 vi模式下快捷键

    esc后:

    保存并退出快捷键:shift+z+z

    光标跳到最后一行快捷键:shift+g

    删除一行:dd

    复制一行内容:y+y

    粘贴复制的内容:p

    十一、Linux项目部署

    11.1 安装jdk1.8

    先卸载open-jdk

    java -version
    rpm -qa | grep java

    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
    rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

    开始安装:
    mkdir /usr/local/src/java
    rz 上传jdk tar包
    tar -zxvf jdk-8u181-linux-x64.tar.gz

    yum install glibc.i686

    配置环境变量:
     vi /etc/profile

     在末尾行添加
      #set java environment
      JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_181
      CLASSPATH=.:$JAVA_HOME/lib.tools.jar
      PATH=$JAVA_HOME/bin:$PATH
      export JAVA_HOME CLASSPATH PATH
      
    保存退出
    source /etc/profile  使更改的配置立即生效
    java -version  查看JDK版本信息,如果显示出1.8证明成功

    11.2 安装MySQL5.6

    11.2.1 上传MySQL5.6的tar包

    创建目录:mkdir /usr/local/src/mysql5.6

    上传:MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar 到上面的目录中

    11.2.2 安装

    第一步:解压

         命令:tar -xvf MySQL-5.6.34-1.rhel5.x86_64.rpm-bundle.tar

    第二步:检测是否已经安装了mysql

         命令:rpm -qa | grep mysql   

         如果已经安装了,将其卸载,如:

         rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64

    第三步:安装MySQL的服务端

         命令:rpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpm

    第四步:安装MySQL的客户端

         命令:rpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpm

    第五步:查看MySQL服务运行状态

         命令:service mysql status

    第六步:启动MySQL服务

         命令:service mysql start

    第七步:使用root账号登录mysql

    在安装mysql server时有句提示:

    注意:这个密码是不安全的,所有需要修改初始密码。

    1. 使用密码登录mysql账号:mysql -uroot -p
    2. 修改root密码:SET PASSWORD = PASSWORD('root');

    11.2.3 开机自动启动设置

    加入到系统服务:

    chkconfig --add mysql

    自动启动:

    chkconfig mysql on

    查询列表:

    chkconfig

    说明:都没关闭(off)时是没有自动启动。

    11.2.4 开启远程访问

    登录:

    mysql -uroot –proot

    设置远程访问(使用root密码):

    grant all privileges on *.* to 'root' @'%' identified by 'root';

    flush privileges;

    退出mysql,在centos环境下打开3306防火墙

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    /etc/rc.d/init.d/iptables save

    /etc/init.d/iptables status

    11.3 安装tomcat部署项目

    准备工作:将web项目打成war包,改名为ROOT.war

    11.3.1 创建ucenter用户

    一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序;

    创建ucenter用户:

    useradd -d /ucenter ucenter

    设置密码:

    passwd ucenter (密码 ucenter)

    切换用户:

    su - ucenter

    11.3.2 安装Tomcat

    tomcat只要解压就可以使用。

    1、创建web目录
    mkdir /ucenter/web

    2、上传apache-tomcat-7.0.57.tar.gz

    3、解压:tar -xvf apache-tomcat-7.0.57.tar.gz

    4、重命名:mv apache-tomcat-7.0.57 itcast-usermanage

    5、启动tomcat:
         cd itcast-usermanage/bin/
         ./startup.sh 或者 sh startup.sh

    6、查看日志:
         tail -f ../logs/catalina.out

    7、查看效果 http://192.168.0.160:8080/

    发现无法访问:

    8、防火墙打开 8080 端口
         /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

         /etc/rc.d/init.d/iptables save

    9、安装成功

    11.3.3 部署用户管理项目

    1、上传usermanage.sql和ROOT.war到/ucenter/web

    2、执行数据库脚本

         cat user_manager.sql | mysql -uroot -p123456

    3、部署web程序

    3.1 删除webapps下的所有文件

         cd /ucenter/web/usermanage/webapps

         rm -rf *

    3.2 拷贝ROOT.war到webapps

         cp /ucenter/web/ROOT.war .

    3.3 重新启动tomcat

         cd ../bin/

         sh startup.sh && tail -f ../logs/catalina.out

    3.4 启动浏览器测试

    注意事项:Centos环境下部署项目中文乱码问题解决方案

        今天在一台新的CentOS机器上使用c3p0连接池操作mysql数据库出现中文乱码问题,具体表现为:查询时无中文乱码问题,写数据时中文乱码,查看了机器上数据库字符集也是UTF8,应该不会出现中文乱码才对,最后在c3p0配置文件中 jdbcUrl后加上:?useUnicode=true&characterEncoding=UTF8 中文就不会乱码了。

    【C3P0配置文件】

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
      <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
    	<property name="jdbcUrl">jdbc:mysql://localhost:3306/user_manager_yun6?useUnicode=true&amp;characterEncoding=UTF8 </property>
    	<property name="user">root</property>
    	<property name="password">root</property>
    	<property name="acquireIncrement">2</property>
    	<property name="initialPoolSize">5</property>
    	<property name="minPoolSize">1</property>
    	<property name="maxPoolSize">5</property>
      </default-config>
    </c3p0-config>

    11.4 Linux下使用FastDFS

    相关的安装包我打包到云盘上了,链接:https://pan.baidu.com/s/13NDYYil4mgLhkb5CYsc2Ww  提取码:66tn

    单节点FastDFS

    整个安装过程非常复杂,很容易出错,建议进行多次备份。

    我们这里不打算安装多台虚拟机,因此会把tracker和storage都安装在一起。

    11.4.1 安装gcc

    GCC用来对C语言代码进行编译运行,使用yum命令安装:

    yum -y install gcc

    后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下

    yum install -y unzip zip

    11.4.2 安装libevent

    yum -y install libevent

    11.4.3 安装libfastcommon-master

    解压刚刚上传的libfastcommon-master.zip
    unzip libfastcommon-master.zip

    进入解压完成的目录
    cd libfastcommon-master

    编译并且安装:
    ./make.sh 
    ./make.sh install

    11.4.4 安装fastdfs

    tar -zxvf FastDFS_v5.08.tar.gz
    cd FastDFS
    ./make.sh
    ./make.sh install

    如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:

    ll /etc/init.d/ | grep fdfs

    • fdfs_trackerd 是tracker启动脚本

    • fdfs_storaged 是storage启动脚本

    能够在 /etc/fdfs/ 目录下看到默认的配置文件模板:

    ll /etc/fdfs/

    • tarcker.conf.sample 是tracker的配置文件模板

    • storage.conf.sample 是storage的配置文件模板

    • client.conf.sample 是客户端的配置文件模板

    11.4.5 配置并启动tracker服务

    1)首先将模板文件复制

    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

    2)修改复制后的配置文件:

    vim /etc/fdfs/tracker.conf 

    # 修改的内容如下:

    base_path=/项目名/tracker                 # 存储日志和数据的根目录

    3)新建目录:

    mkdir -p /项目名/tracker

    注意:关闭防火墙:

    chkconfig iptables off

    4)启动和停止

    service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

    检查FastDFS Tracker Server是否启动成功:

    ps -ef | grep fdfs_trackerd

    设置tracker服务开机启动:

    chkconfig fdfs_trackerd on

    11.4.6 配置并启动storage服务

    1)首先将模板文件复制

    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

    2)修改复制后的配置文件:

    vim /etc/fdfs/storage.conf

    # 修改的内容如下:

    base_path=/项目名/storage                 # 数据和日志文件存储根目录 
    
    store_path0=/项目名/storage           # 第一个存储目录 
    
    tracker_server=192.168.56.101:22122       #  tracker服务器IP和端口 

    3)新建目录:

    mkdir -p /项目名/storage

    注意关闭防火墙: chkconfig iptables off

    4)启动和停止

    service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

    设置storage服务开机启动:

    chkconfig fdfs_storaged on

    ps -ef | grep fdfs

    11.5 安装fastdfs-nginx-module

    11.5.1 解压

    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

    11.5.2 修改config

    1)进入src目录

    cd fastdfs-nginx-module/src/

    2)编辑config

    vim config

    使用以下底行命令:

    :%s+/usr/local/+/usr/+g

    将所有的/usr/local替换为 /usr,这个才是正确的目录:

    11.5.3 配置nginx与FastDFS关联配置文件

    复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

    cp /usr/local/项目名/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    
    vi /etc/fdfs/mod_fastdfs.conf

    修改以下配置:

    connect_timeout=10                       # 客户端访问文件连接超时时长(单位:秒)
    
    tracker_server=192.168.56.101:22122    # tracker服务IP和端口
    
    url_have_group_name=true                # 访问链接前缀加上组名
    
    store_path0=/leyou/storage            # 文件存储路径

    复制 FastDFS 的部分配置文件到/etc/fdfs 目录

    cd /usr/local/项目名/FastDFS/conf/
    cp http.conf mime.types /etc/fdfs/

    11.6 安装Nginx的插件

    11.6.1 如果没有安装过nginx

    1、安装nginx的依赖库

    yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

    2、解压安装包

    tar -zxvf nginx-1.10.0.tar.gz

    3、配置nginx安装包,并指定fastdfs-nginx-model

    cd nginx-1.10.0
    
    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/leyou/fastdfs-nginx-module/src

    注意:在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去。

    4、编译并安装

    make && make install

    11.6.2 如果已经安装过nginx

    1、 进入nginx目录:

    cd /usr/local/项目名/nginx-1.10.0/

    2、 配置FastDFS 模块

    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/项目名/fastdfs-nginx-module/src

    注意:这次配置时,要添加fastdfs-nginx-moudle模块

    3、编译,注意,这次不要安装(install)

    make

    4、替换nginx二进制文件:

    备份:

    mv /usr/bin/nginx /usr/bin/nginx-bak

    用新编译的nginx启动文件替代原来的:

    cp objs/nginx /usr/bin/

    11.6.3 启动nginx

    配置nginx整合fastdfs-module模块

    我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:

    vim  /opt/nginx/conf/nginx.conf

    将文件中,原来的server 80{ ...} 部分代码替换为如下代码:

    server {
        listen       80;
        server_name  image.项目名.com;
    	# 监听域名中带有group的,交给FastDFS模块处理
        location ~/group([0-9])/ {
            ngx_fastdfs_module;
        }
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    启动nginx:

    nginx	# 启动nginx
    
    nginx -s stop	# 停止nginx
    
    nginx -s reload	# 重新载入配置文件

    # 可通过ps -ef | grep nginx查看nginx是否已启动成功

    11.6.4 设置nginx开机启动

    创建一个开机启动的脚本:

    vim /etc/init.d/nginx

    添加以下内容:

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig:   - 85 15
    # description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
    #               proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config:      /etc/nginx/nginx.conf
    # config:      /etc/sysconfig/nginx
    # pidfile:     /var/run/nginx.pid
    
    # Source function library.
    . /etc/rc.d/init.d/functions
    
    # Source networking configuration.
    . /etc/sysconfig/network
    
    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0
    
    nginx="/usr/bin/nginx"
    prog=$(basename $nginx)
    
    NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
    
    lockfile=/var/lock/subsys/nginx
    
    make_dirs() {
       # make required directories
       user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
       if [ -n "$user" ]; then
          if [ -z "`grep $user /etc/passwd`" ]; then
             useradd -M -s /bin/nologin $user
          fi
          options=`$nginx -V 2>&1 | grep 'configure arguments:'`
          for opt in $options; do
              if [ `echo $opt | grep '.*-temp-path'` ]; then
                  value=`echo $opt | cut -d "=" -f 2`
                  if [ ! -d "$value" ]; then
                      # echo "creating" $value
                      mkdir -p $value && chown -R $user $value
                  fi
              fi
           done
        fi
    }
    
    start() {
        [ -x $nginx ] || exit 5
        [ -f $NGINX_CONF_FILE ] || exit 6
        make_dirs
        echo -n $"Starting $prog: "
        daemon $nginx -c $NGINX_CONF_FILE
        retval=$?
        echo
        [ $retval -eq 0 ] && touch $lockfile
        return $retval
    }
    
    stop() {
        echo -n $"Stopping $prog: "
        killproc $prog -QUIT
        retval=$?
        echo
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
    }
    
    restart() {
        configtest || return $?
        stop
        sleep 1
        start
    }
    
    reload() {
        configtest || return $?
        echo -n $"Reloading $prog: "
        killproc $nginx -HUP
        RETVAL=$?
        echo
    }
    
    force_reload() {
        restart
    }
    
    configtest() {
      $nginx -t -c $NGINX_CONF_FILE
    }
    
    rh_status() {
        status $prog
    }
    
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
    
    case "$1" in
        start)
            rh_status_q && exit 0
            $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart|configtest)
            $1
            ;;
        reload)
            rh_status_q || exit 7
            $1
            ;;
        force-reload)
            force_reload
            ;;
        status)
            rh_status
            ;;
        condrestart|try-restart)
            rh_status_q || exit 0
                ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
            exit 2
    esac

    修改文件权限,并加入服务列表

    # 修改权限
    chmod 777 /etc/init.d/nginx 
    # 添加到服务列表
    chkconfig --add /etc/init.d/nginx 

    设置开机启动

    chkconfig nginx on

    11.7 安装Elasticsearch

    需要虚拟机JDK1.8及以上

    11.7.1 新建一个用户leyou

    出于安全考虑,elasticsearch默认不允许以root账号运行。

    创建用户:

    useradd leyou

    设置密码:

    passwd leyou

    切换用户:

    su - leyou

    11.7.2 上传安装包,并解压

    我们将安装包上传到:/home/leyou目录

    解压缩:

    tar -zxvf elasticsearch-6.2.4.tar.gz

    我们把目录重命名:

    mv elasticsearch-6.3.0/ elasticsearch

    进入,查看目录结构:

    11.7.3 修改配置

    我们进入config目录:cd config

    需要修改的配置文件有两个:

    1、jvm.options

    Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。

    编辑jvm.options:

    vim jvm.options

    默认配置如下:

    -Xms1g
    -Xmx1g

    内存占用太多了,我们调小一些:

    -Xms512m
    -Xmx512m

    2、elasticsearch.yml

    vim elasticsearch.yml

    修改数据和日志目录:

    path.data: /home/leyou/elasticsearch/data # 数据目录位置
    path.logs: /home/leyou/elasticsearch/logs # 日志目录位置

    我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

    进入elasticsearch的根目录,然后创建:

    mkdir data
    mkdir logs

    修改绑定的ip:

    network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

    默认只允许本机访问,修改为0.0.0.0后则可以远程访问

    11.7.4 运行

    进入elasticsearch/bin目录,可以看到下面的执行文件:

    然后输入命令:

    ./elasticsearch

    或者后台运行:

    ./elasticsearch -d

    11.7.5 错误1:内核过低

    修改elasticsearch.yml文件,在最下面添加如下配置: 然后重启

    bootstrap.system_call_filter: false

    11.7.6 错误2:文件权限不足

    我们用的是leyou用户,而不是root,所以文件权限不足。

    首先用root用户登录。直接输入exit命令

    然后修改配置文件:

    vim /etc/security/limits.conf

    添加下面的内容:

    * soft nofile 65536
    
    * hard nofile 131072
    
    * soft nproc 4096
    
    * hard nproc 4096

    11.7.7 错误3:线程数不够

    [1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

    继续修改配置:

    vim /etc/security/limits.d/90-nproc.conf 

    修改下面的内容:

    * soft nproc 1024

    改为

    * soft nproc 4096

    11.7.8 错误4:进程虚拟内存

    [3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件, :

    vim /etc/sysctl.conf 

    添加下面内容:

    vm.max_map_count=655360

    然后执行命令:

    sysctl -p

    11.7.9 重启终端窗口

    所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。

    11.8 安装RabbitMQ

    cd /usr/local/myapp
    
    mkdir rabbitmq
    
    cd rabbitmq
    

    11.8.1 安装Erlang

    1、在线安装

    yum install esl-erlang_17.3-1~centos~6_amd64.rpm
    
    yum install esl-erlang-compat-R14B-1.el6.noarch.rpm

    2、离线安装

    依次执行命令:

    1)rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps

    2)rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm --force --nodeps

    3)rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps

    11.8.2 安装RabbitMQ

    安装:

    rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

    11.8.3 设置配置文件

    cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example
    /etc/rabbitmq/rabbitmq.config

    开启用户远程访问

    vi /etc/rabbitmq/rabbitmq.config

    注意要去掉后面的逗号。

    11.8.4 启动、停止

    service rabbitmq-server start
    
    service rabbitmq-server stop
    
    service rabbitmq-server restart

    11.8.5 开启web界面管理工具

    rabbitmq-plugins enable rabbitmq_management
    
    service rabbitmq-server restart

    11.8.6 设置开机启动

    chkconfig rabbitmq-server on

    11.8.7 防火墙开放15672端口

    /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
    
    /etc/rc.d/init.d/iptables save

    11.9 redis安装和配置

    11.9.1 安装

    解压

    tar -xvf redis-4.0.9.tar.gz

    编译安装

     mv redis-4.0.9 redis
     cd redis
     make && make install

    11.9.2 配置

    修改安装目录下的redis.conf文件

    vim redis.conf

    修改以下配置:

    #bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
    protected-mode no # 把yes改成no,允许外网访问
    daemonize yes # 把no改成yes,后台运行

    11.9.3 启动或停止

    redis提供了服务端命令和客户端命令:

    • redis-server 服务端命令,可以包含以下参数: start 启动 stop 停止

    • redis-cli 客户端控制台,包含参数: -h xxx 指定服务端地址,缺省值是127.0.0.1 -p xxx 指定服务端端口,缺省值是6379

    11.9.4 设置开机启动

    1) 输入命令,新建文件

    vim /etc/init.d/redis

    输入下面内容:

    #!/bin/sh
    # chkconfig:   2345 90 10
    # description:  Redis is a persistent key-value database
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    REDIS_CLI=/usr/local/bin/redis-cli
    
    PIDFILE=/var/run/redis.pid
    
    CONF="/usr/local/leyou/redis/redis.conf"
    
    case "$1" in  
        start)  
            if [ -f $PIDFILE ]  
            then  
                    echo "$PIDFILE exists, process is already running or crashed"  
            else  
                    echo "Starting Redis server..."  
                    $EXEC $CONF  
            fi  
            if [ "$?"="0" ]   
            then  
                  echo "Redis is running..."  
            fi  
            ;;  
        stop)  
            if [ ! -f $PIDFILE ]  
            then  
                    echo "$PIDFILE does not exist, process is not running"  
            else  
                    PID=$(cat $PIDFILE)  
                    echo "Stopping ..."  
                    $REDIS_CLI -p $REDISPORT SHUTDOWN  
                    while [ -x ${PIDFILE} ]  
                   do  
                        echo "Waiting for Redis to shutdown ..."  
                        sleep 1  
                    done  
                    echo "Redis stopped"  
            fi  
            ;;  
       restart|force-reload)  
            ${0} stop  
            ${0} start  
            ;;  
      *)  
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
            exit 1  
    esac

    然后保存退出

    注意:以下信息需要根据安装目录进行调整:

    EXEC=/usr/local/bin/redis-server # 执行脚本的地址

    REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址

    PIDFILE=/var/run/redis.pid # 进程id文件地址

    CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址

    2)设置权限

    chmod 755 /etc/init.d/redis

    3)启动测试

    /etc/init.d/redis start

    启动成功会提示如下信息:

    Starting Redis server...
    Redis is running...

    4)设置开机自启动

    chkconfig --add /etc/init.d/redis
    chkconfig redis on

     

    展开全文
  • Linux系统常用基本命令总结

    万次阅读 多人点赞 2018-11-13 22:42:20
    目录 ...常用命令与示例 一、文件基本操作命令 1. ls命令 2. pwd命令 3. mkdir命令 4. cd命令 5. touch命令 6. cp命令 7. mv命令 8. rmdir命令 9. rm命令 10. cat命令 11 more和 les...

    目录

    Linux基本命令

    Linux的简介

    Linux的厂商

    Linux的目录结构

    基于虚拟机的环境搭建

    常用命令与示例

    一、文件基本操作命令

    1. ls命令

    2.  pwd命令

    3.  mkdir命令

    4. cd命令

    5. touch命令

    6. cp命令

    7. mv命令

    8.  rmdir命令

    9.  rm命令

    10.  cat命令

    11  more和 less命令

    12.  head命令

    13.  tail命令

    二、用户、组管理命令

    1. groupadd命令

    2. useradd命令

    3. userdel命令

    4. groupdel命令

    5. passwd命令

    6. usermod命令

    7. id命令

    三、 文件属性操作命令

    1. chown命令

    2. chgrp命令

     3. chmod命令

    四、i节点及其相关命令

    (1)ln命令示例一——建立硬连接

    (2)ln命令示例二——建立符号连接

    五、 查找命令

    1. which命令

    2. whereis命令

    3. find命令

    六、 文件内容操作命令

    1. grep命令

    2. wc命令

    3. sort命令

    4. diff 命令

    5. cut 命令

    七、 压缩与打包命令

    1. tar命令

    八、网卡配置命令

    (1)ifconfig命令示例一——显示接口(网卡)配置参数

    (2)ifconfig命令示例二——设置接口(网卡)配置参数

    (3)ifconfig命令示例三——禁用某块网卡

    (4)ifconfig命令示例四——激活某块网卡

    九、rpm命令

    (1)rpm命令示例一——查询系统中安装的软件包

    (2)rpm命令示例二——查询软件包中文件清单

    (3)rpm命令示例三——卸载指定的软件包

    (4)rpm命令示例四——安装软件包

    (5)rpm命令示例五——强制安装软件包

    (6)rpm命令示例五——忽略依赖关系安装软件包

    # rpm  -ivh  --nodeps  php-4.3.9-3.1-i386.rpm

    (7)卸载

    十、 其他安装方式

    yum安装       yum install 软件名字       yum install yum-fastestmirror       yum remove

    源码安装

    十一、 查看进程命令

    1. ps命令

    2. pstree命令

    3. top命令

    4. kill命令


     

    Linux基本命令

    Linux的简介

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

     

    Linux的厂商

     

    Linux的目录结构

    基于虚拟机的环境搭建

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0 #网卡设备名称
                ONBOOT=yes #启动时是否激活 yes|no
                BOOTPROTO=static #协议类型 dhcp bootp none
                IPADDR=192.168.134.136 #网络IP地址
                NETMASK=255.255.255.0 #网络子网地址
                GATEWAY=                     #网关地址
                BROADCAST=192.168.134.255 #广播地址
                TYPE=Ethernet #网卡类型为以太网

    关闭防火墙

         service iptables stop

         chkconfig iptables off

    常用命令与示例

    说明:

    • Linux 命令及其参数是严格区分大小写

    • Linux文件名严格区分大小写

    一、文件基本操作命令

    1. ls命令

    • ls命令的功能是显示指定目录下的文件目录清单相当于dos下的dir命令,而且其参数更加丰富多样。

    1ls示例一——不带参数

    [root@yxy ~]# ls

    anaconda-ks.cfg  install.log  install.log.syslog

    功能:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录。

    2ls示例二——显示隐含文件

    [root@yxy ~]# ls -a

    .   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .tcshrc

    ..  .bash_history    .bash_profile  .cshrc   install.log.syslog

    参数-a的功能:显示隐含文件。

    说明:若文件名以“.”开头,则认为是隐含的,进而普通的ls命令不显示以“.”开头的文件;所以要完全显示某目录下的文件清单,必须加上-a参数才行。

    3ls示例三——长格式输出

    [root@yxy ~]# ls -l

    总用量 24

    -rw-------. 1 root root  1116 11月 13 18:15 anaconda-ks.cfg

    -rw-r--r--. 1 root root 12526 11月 13 18:15 install.log

    -rw-r--r--. 1 root root  3482 11月 13 18:14 install.log.syslog

    参数-l 的功能是:以长格式列表输出指定目录中的文件清单

    以上述输出中文件install.log为例

     解释长格式输出的内容如下

    文件权限  连接数  属主    属组    大小   日期     时间      文件名

    -rw-r--r--.    1   root   root   12526  1113 18:15 install.log

    Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的,如下所示。

    属主的权限  属组的权限  其他用户的权限

         rwx                 rwx                  r-x

    4ls示例四——递归显示

    [root@yxy ~]# ls -R

    .:

    anaconda-ks.cfg  install.log  install.log.syslog

    参数-R 的功能是:递归显示指定目录下的文件清单,

    即会显示指定目录分支内各子目录中的文件清单。

    2.  pwd命令

    示例:pwd

    [root@yxy ~]# pwd

    /root

    功能:显示当前目录

    3.  mkdir命令

    1mkdir示例一

    [root@yxy ~]# mkdir abc

    功能:在当前目录下创建目录abc

    2mkdir示例二——创建多级目录

    [root@yxy ~]# mkdir -p a/b/c

    [root@yxy ~]# ls -R a

    a:

    b

     

    a/b:

    c

     

    a/b/c:功能:参数-p功能是如果要创建的目录的父目录不存在,则先创建其父目录,再创建该目录; 如果指定的目录存在,则不影响原目录,也不会报错。在本示例中会连续创建a目录、a/b目录、a/b/c目录。

    4. cd命令

    (1)cd示例一——切换工作目录

    [root@yxy ~]# cd /var

    [root@yxy var]# pwd

    /var

    功能:将当前的工作目录切换为/var

    (2)cd示例二——切换到当前用户的主目录

    [root@yxy var]# cd

    [root@yxy ~]# pwd

    /root

    功能:不带参数的cd命令直接将当前的工作目录切换为该用户的主目录。主目录又称为家目录,在RHEL中是在创建用户时,自动在/home下为用户创建一个用其用户名同名的目录,并将该目录的所有权划归给该用户所有。

    注意:字符“~”代表(当前)用户的主目录。                   

    5. touch命令

    1touch示例一——创建空文件

    [root@yxy ~]# touch myfile

    [root@yxy ~]# ls -l myfile

    -rw-r--r--. 1 root root 0 11月 13 23:48 myfile

    功能:如果myfile不存在,则创建一个大小为0字节名为myfile的空文件。

    2touch示例二——改变文件的最后修改时间

    再执行一次touch myfile

    [root@yxy ~]# touch myfile

    [root@yxy ~]# ls -l myfile

    -rw-r--r--. 1 root root 0 11月 13 23:49 myfile

    功能:如果myfile已存在,则将改变myfile的最后修改时间。

    6. cp命令

    1cp示例一——复制文件

    [root@yxy ~]# cp /etc/*   abc

    功能:将/etc/目录下的文件复制到目录abc中。*是通配符,可以匹配多个字符;“?”只能匹配一个字符。

    2cp示例二——复制目录

    [root@yxy ~]# cp  -R   /etc  abc

    功能:增加了参数-,就能将目录/etc下面的所有子目录和文件都复制到目录abc中。

    7. mv命令

    1mv示例一——将文件移动到目录中

    [root@yxy ~]# mv  myfile  mydir1

    功能:如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中。

    2mv示例二——文件改名

    [root@yxy ~]# mv myfile myfile2

    功能:将文件(或目录)myfile改名myfile2

    8.  rmdir命令

    [root@yxy ~]# rmdir   mydir1

    功能:删除指定的空目录

    9.  rm命令

    1rm示例一——删除文件

    [root@yxy ~]# rm  php.ini

    功能:删除指定的文件 php.ini。

    2rm示例二——删除目录

    [root@yxy ~]# rm  -rf  abc

    功能:参数-r递归的意思,即可以删除非空目录;参数-f强制的意思。

    10.  cat命令

    1cat示例一——显示文件内容

    [root@yxy ~]# cat myfile

    hello,world

    功能:指定文件myfile的内容

    2cat示例二——创建文件

    [root@yxy ~]# cat  >  myfile2

    Welcome to Linux World!

    ctrl+d结束输入

    功能:利用输出重定向符“>”来创建简短的文本文件myfile2。

    11  more less命令

    # more  /etc/httpd/conf/httpd.conf

    功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。

    说明:less与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。

    12.  head命令

    1head示例一——显示文件头10行内容

    # head  /etc/httpd/conf/httpd.conf

    功能:默认显示指定文件的10的内容。

    2head示例二——显示文件头n行内容

    # head -n 19 /etc/httpd/conf/httpd.conf

    功能:参数-n设置显示指定行数,本例会显示文件的头19行的内容。

    13.  tail命令

    1tail示例一——显示文件最后10行内容

    # tail  /etc/httpd/conf/httpd.conf

    功能:默认显示指定文件的末尾10的内容。

     2tail示例二——显示文件最后n行内容

    # tail  -n 12  /etc/httpd/conf/httpd.conf

    功能:参数-n设置显示指定行数;

              本例会显示文件的末尾12行的内容。

    二、用户、组管理命令

    • Linux采用来组织和管理用户

    • 在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。

    • 同时每个用户也必须至少属于一个组,也有组标识符GID

    • 其中UID与GID独立编号。

     

    1. groupadd命令

    1groupadd示例一——创建组账号

    [root@yxy ~]# groupadd  mygroup1

    功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。

    说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息

    2groupadd示例二——创建组账号并设置其GID

    # groupadd  -g 5000  mygroup2

    功能:创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个主要组。

    2. useradd命令

    1useradd示例一——创建用户账号

    [root@yxy ~]# useradd  user1

    功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。

    说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息

    注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个用户的口令

    2useradd示例二——创建用户账号并设置相应属性值

    # useradd  -u 600  -g mygroup1  -G mygroup2  -d  /home/student1  s1

    功能:创建用户s1,其中参数

    -u指定UID号为600;

    -g指定用户的主要组为mygroup1;

    -G指定用户的附加组为mygroup2,每个用户可以有多个附加组;

    -d 指定用户的主目录为/home/student1。

    3. userdel命令

    1userdel示例一——删除用户

    [root@yxy ~]# userdel  user1

    功能:删除指定的用户user1。

    2userdel示例二——删除用户的同时删除其主目录

    [root@yxy ~]# userdel  -r  user2

    功能:删除指定的用户user2,同时删除其主目录

    4. groupdel命令

    [root@yxy ~]# groupdel mygroup2

    功能:删除指定的组

    注意:当某个组是某现有用户的主要组时,则不能被删除。

     

    5. passwd命令

    1passwd示例一——改变口令

    [root@yxy ~]# passwd

    Changing password for user user1.

    Changing password for user1

    (current) Unix password:

    New Unix password:

    BAD PASSWORD: it is too simplistic/systematic

    New Unix password:

    BAD PASSWORD: is too similar to the old one

    New Unix password:

    Retype new Unix password:

    passwd: all authentication tokens updated successfully.

    功能:普通用户只可以修改自己的口令

    2passwd示例二——禁止用户登录 

    [root@yxy ~]# passwd  -l  user1

    Locking password for user user1.

    passwd: Success

    功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录。

    3passwd示例三——恢复用户登录

    [root@yxy ~]# passwd  –u  user1

    Unlocking password for user user1.

    passwd: Success.

    功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。

    4passwd示例四——删除用户口令

     [root@yxy ~]# passwd  -d  user1

    Removing password for user user1.

    passwd: Success

    功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。

    6. usermod命令

    # usermod  -u  601  -g 501  s1

    功能:将(已存在的)用户s1的UID号修改为601、主要组修改为501

    7. id命令

    [root@yxy ~]# id  user1

    uid=501(user1) gid=501(user1) groups=501(user1)

    功能:显示用户的UIDGID及所属的组信息

     

    三、 文件属性操作命令

     

    1. chown命令

    1chown示例一——改变文件的属主

    [root@yxy ~]# chown  user1  hello.txt

    功能:将指定文件hello.txt的属主(所有者)改为user1。

    2chown示例二——递归改变文件的属主

    # chown  -R  user1  mydir

    功能:参数-R,表示递归即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会mydir目录中所有子目录和文件的属主设定为user1

    2. chgrp命令

    1chgrp示例一——改变文件的属组

    # chgrp  mygroup1  hello.txt

    功能:将指定文件hello.txt的属组改为mygroup1。

    2chgrp示例二——递归改变文件的属组

    # chgrp  -R  mygroup1  mydir

    功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。

     3. chmod命令

    1chmod示例一——字母方式

       图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;

        =表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限;

        rwx三种权限,既可以单独使用也可以组合使用

    # chmod  u+x  host.conf

    功能:为文件host.conf的属主增加执行权限。

    # chmod  g-w,o=x  host.conf

    功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变。

    2chmod示例二——数字方式

    chmod的数字使用方式,使用起来也是很方便的,关键是一个数制转换的问题。

    这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。

    例如,某文件有如下权限rwxrw-r--,则转换为二进制数为111110100,再化为八进制数则为764;反之,当看到八进制数764时也应该很快转化为相应权限。

    # chmod  764  host.conf

    功能:将文件host.conf的权限设置为:

    属主拥有全部权限;

    属组拥有读写权限;

    其他用户拥有只读权限。

     

    四、i节点及其相关命令

    1ln命令示例一——建立硬连接

    [root@yxy ~]# ln  myfile  myfile.hlink

    功能:为文件myfile创建名为myfile.hlink的硬连接。

    [root@yxy ~]# ls  -il

    180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile

    180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile.hlink

    说明:通过ls  il 命令可以看出myfile与myfile.hlink的i节点号(最左面的数)是一样的,即硬连接与原文件共用同一个i节点,请注意两个文件的连接数(位于长格式列表中权限位与属主之间的数)都增加了1变成2了。

    2ln命令示例二——建立符号连接

    [root@yxy ~]# ln  -s  myfile  myfile.slink

    功能:为文件myfile创建名为myfile.slink的符号连接。

    [root@yxy ~]# ls  -li

    180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile

    180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile.hlink

    180606 lrwxrwxrwx  1  user1 user1    6 Aug 21 06:21 myfile.slink -> myfile

    说明:硬链接若一个inode号对应多个文件名时,则称之为硬链接。硬链接具有以下几个特性:文件拥有相同的inode号和数据块;只能对已存在的文件创建硬链接;不能跨越文件系统创建硬链接;不能堆目录创建硬链接;删除一个硬链接文件不影响其他相同inode号的文件。软链接在Linux中,若文件的数据块中存放的内容是另一文件的路径名,则称之为软连接。软链接类似于Windows系统下的快捷方式。软连接有自己的inode号和用户数据块。为此,软链接避免了硬链接的诸多限制,软链接主要具有以下特点:软链接有自己的文件属性及权限等;可以对不存在的文件或目录创建软链接;软链接可以跨越文件系统创建;删除软链接时不会影响被指向的文件;若原文件被删除时,相关软链接文件被称为死链接(当该路路劲的文件重新创建时,死链接可以恢复正常)。

     

    五、 查找命令

    1. which命令

    [root@yxy ~]# which cp

    /bin/cp

    [root@yxy ~]# which updatedb

    /usr/bin/updatedb

    功能:显示命令的绝对路径。

    注意:该命令只能在命令搜索路径指定的目录中去查找命令或程序。

    2. whereis命令

    [root@yxy ~]# whereis ln

    ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz

    功能查询指定命令所在目录以及帮助文档所在目录。

    3. find命令

    1find示例一——按文件名查找

    # find  /  -name  "dhcpd*"

    功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。

    2find示例二——按文件大小查找

    [root@yxy ~]# find  /etc  -size  8

    功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。

       其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。

    3find示例三——按文件类型查找

    # find  /var  -type d  -print

    功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。

    4find示例四——按文件的修改时间查找

    [root@yxy ~]# find  .  -cmin -5

    功能:从当前目录下查找5分钟之内修改过的文件。

       如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。

      如果把时间单位改为天,则使用参数“-ctime”,请看示例:

    [root@yxy ~]# find  .  -ctime -5

    5find示例五——按文件的权限查找

    [root@yxy ~]#find  mytmp  -perm  755

    功能:查找mytmp目录下的权限恰为755的文件。

    [root@yxy ~]#find  mytmp  -perm  +755

    功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。

    [root@yxy ~]#find  mytmp  -perm  -755

    功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。

     

    六、 文件内容操作命令

     

    1. grep命令

    1grep示例一——在指定的文件中查找包含特定的字符串的行

    [root@yxy ~]# grep  "bind"  host.conf

    功能:在文件host.conf中查找包含字符串“bind”行。

    [root@yxy ~]# grep  "network"  /etc/*.conf

    功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。

    2grep示例二——查找不包含指定字符串的行

    # grep  -v  "network"  /etc/nsswitch.conf

    功能:查找/etc/nsswitch.conf文件中包含字符串“network”的行。

    2. wc命令

    1wc示例一——统计指定文件的行数、单词数和字符数

    [user1@server2 ~]# wc  /etc/nsswitch.conf

      63  272  1718  /etc/nsswitch.conf

    功能:统计出文件/etc/nsswitch.conf共有63行、272个单词、1718个字符。

    2wc示例二——参数使用

    # wc  -l  /etc/nsswitch.conf

    63  /etc/nsswitch.conf

    功能:参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数。

    3. sort命令

    1sort示例一——按正序输出

    [root@yxy ~]# sort  mytest

    功能:将指定文件以行为单位按正序输出。

    2sort示例二——按逆序输出

    [root@yxy ~]# sort  -r  mytest

    功能:将指定文件以行为单位按逆序输出。

    4. diff 命令

    [root@yxy ~]# diff  test  mytest

    功能:比较文件test与mytest是否相同,将不同之处输出到屏幕上。

    5. cut 命令

       cut命令是一个文本提取工具,它以为单位,将每行看作一条记录,而字段之间的分隔符可以灵活地定义

    1cut示例一——按特定的分隔符提取指定的字段

    [user1@server2 ~]# cut  -d:  -f1  /etc/passwd

    功能:参数-d用来定义字段之间的分隔符,参数-f指定提取第几个字段;本例为提取/etc/passwd文件中以“:”为分隔符的第1个字段。

    七、 压缩与打包命令

     

    1. tar命令

     tar命令是经典的备份/还原命令,几乎所有最新的软件包都是通过tar发布的。

    1tar命令示例一——打包(备份)

    [user1@server2 ~]# tar  -cvf  myetc.tar  /etc

    功能:  参数-c的功能是打包(创建),

               参数-v是显示处理过程,

               参数-f是用来指定文档名;

    本例的功能是:将目录/etc打包为一个名为myetc.tar的文档。

    2tar命令示例二——打包(备份)并压缩

    # tar  -zcvf  myetc.tar.gz  /etc

    功能:将目录/etc打包并压缩为一个名为myetc.tar.gz的文档。

    说明:其中参数-z是调用gzip命令来压缩,扩展名为gz

    参数-Z是调用compress命令来压缩,扩展名为Z,

    参数-j是调用bzip2命令来压缩,扩展名为bz2

     

    八、网卡配置命令

    1ifconfig命令示例一——显示接口(网卡)配置参数

    [root@server2 ~]# ifconfig

    功能:显示网卡参数的配置情况,包括IP地址子网掩码、广播地址等。

    2ifconfig命令示例二——设置接口(网卡)配置参数

    # ifconfig  eth0  10.22.1.103  netmask  255.255.255.0

    功能:设置网卡eth0的IP地址为10.22.1.103、掩码为255.255.255.0

    说明:eth0是系统中1以太网卡的名称,eth1是系统中2以太网卡的名称,以此类推。lo是环回测试网卡的名称。

    3ifconfig命令示例三——禁用某块网卡

    [root@server2 ~]# ifconfig  eth0  down

    功能:禁用网卡eth0。

    说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数-a才可显示被禁用的网卡信息。

    4ifconfig命令示例四——激活某块网卡

    [root@server2 ~]# ifconfig  eth0  up

    功能激活网卡eth0。

    九、rpm命令

    1rpm命令示例一——查询系统中安装的软件包

    [root@yxy ~]# rpm -qa

    功能:查询系统中安装的软件包列表,其中参数-q的功能是“查询”,参数-a的功能是“所有的”。

    2rpm命令示例二——查询软件包中文件清单

    [root@yxy ~]#rpm  -ql  php

    功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。

    3rpm命令示例三——卸载指定的软件包

    [root@yxy ~]# rpm  -e  php

    功能:卸载已安装的软件包php,参数-e的功能是“卸载”。

    说明请注意执行上述命令时,采用的身份是不同的,普通用户只能执行查询操作。

    4rpm命令示例四——安装软件包

    # rpm  -ivh  php-4.3.9-3.1-i386.rpm

    功能:安装软件包php,

       参数-i的功能是“安装”,

       参数-v的功能是“显示处理过程”,

       参数-h的功能是显示“#”来表示进度。

    5rpm命令示例五——强制安装软件包

    # rpm  -ivh  --force  php-4.3.9-3.1-i386.rpm

    功能:强制安装软件包php,参数--force表示强制的意思。

    说明:如果要安装的软件的版本比较低或该软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数—force来进行强制安装。

    6rpm命令示例五——忽略依赖关系安装软件包

    # rpm  -ivh  --nodeps  php-4.3.9-3.1-i386.rpm

    功能:安装软件包php时忽略与其它软件包的依赖关系,参数--nodeps表示忽略依赖关系

    说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数--nodeps忽略掉依赖关系才能进行安装或卸载。

    7)卸载


                 首先通过  rpm -q <关键字> 可以查询到rpm包的名字

    然后 调用 rpm -e <包的名字> 删除特定rpm包

    如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

     

    十、 其他安装方式

    1. yum安装
             yum install 软件名字
             yum install yum-fastestmirror
             yum remove

    2. 源码安装

    ./configure
                make
                make install
                make clean
    make distclean

    十一、 查看进程命令

    1. ps命令

    1ps命令示例一——不带参数

    [user1@server2 ~]# ps

    功能:查询在当前控制台上运行的进程。

    2ps命令示例二——查看所有进程

    [user1@server2 ~]# ps  -aux

    功能:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。

    3ps命令示例三——查看所有进程

    [user1@server2 ~]# ps  -ef

    功能:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。

    2. pstree命令

    1pstree命令示例一——树状格式显示进程列表

    [user1@server2 ~]# pstree

    功能:以树状格式显示系统的进程列表。

    2pstree命令示例二——带进程号的树状格式显示进程列表

    [user1@server2 ~]# pstree  -p

    功能:以树状格式显示系统的进程列表,并标识出每个进程的进程号。 

    3. top命令

    [user1@server2 ~]# top

    功能:动态地显示系统中的进程。

    4. kill命令

    1kill命令示例一——杀掉指定进程

    [user1@server2 ~]# kill  3029

    功能:kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程。

    说明:上述命令中3029是进程号;一般在执行kill命令之前,先用pspstree来查询一下将要被杀掉的进程的进程号。

    2kill命令示例二——强制杀掉指定进程

    [user1@server2 ~]# kill  -9  3029

    功能:强制终止3029号进程的运行,其中参数-9代表强制的意思。

    说明:实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。

     

    展开全文
  • Linux常用基本命令

    万次阅读 多人点赞 2020-11-21 00:07:04
    Linux常用基本命令 目录文件管理 cd 切换目录 cd 绝对路径/相对路径 切换目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd / 进入根目录 ls 列出目录 ls 列出文件(不包括隐藏...


    目录文件管理

    cd 切换目录
    cd 绝对路径/相对路径				切换目录
    cd ..							返回上一级目录
    cd ../..						返回上两级目录
    cd /							进入根目录
    
    ls 列出目录
    ls						列出文件(不包括隐藏文件)
    ls -a					列出所有文件(包括隐藏文件)
    ls -l					列出文件和详细信息(不包括隐藏文件)
    ls -al					列出文件和详细信息(包括隐藏文件)
    
    pwd 显示当前路径
    pwd 		显示当前用户所在目录的路径
    
    mkdir 创建目录
    mkdir 目录名					在当前目录下创建一个目录
    mkdir -p 目录A/目录B/目录C		递归创建多级目录
    
    rmdir 移除目录
    rmdir 目录名					移除当前目录下的指定目录(不能删除内容不为空的目录)
    
    cp 复制文件或目录
    cp 文件或目录路径 目标路径		复制文件或目录至指定目标路径
    cp 文件路径 目标路径/文件名		复制文件至指定路径并修改文件名
    
    rm 移除文件或目录
    rm -rf 文件路径/目录路径			递归删除指定文件或目录,无需确认,强制删除
    
    mv 移动文件或目录
    mv 文件或目录路径 目标路径				移动文件或目录至指定目标路径
    mv 文件路径 目标路径/文件名				移动文件至指定目标路径并改名
    

    文件属性管理

    drwxr-xr-x. 15 root root  4096 Oct 16 09:00 usr
    
    -rw-r--r--   1 root root     0 Nov 20 22:49 a.txt
    
    lrwxrwxrwx.  1 root root     7 Aug 18  2017 bin -> usr/bin
    
    第一个字母为d表示其为目录,-表示其为文件,l表示其为一个软链接文件,b表示其为可随机存取装置,c表示其为串行端口设备(鼠标键盘)
    234位分别表示文件属主的读写执行权限,567位分别表示文件属组的读写执行权限,8910位分别表示其他用户的读写执行权限
    
    chgrp 更改文件或目录的属组
    chown 更改文件或目录的属主
    chgrp blu a.txt		将 a.txt 的属组更改为 blu
    chgrp -r blu test	递归更改目录的属组
    chown blu a.txt		将 a.txt 的属主更改为 blu
    chown -r blu test	递归更改目录的属主
    
    chmod 更改文件或目录的读写执行权限
    chmod 777 a.txt		将 a.txt 的所有权限全部打开
    (注:1表示可执行,2表示可写,4表示可读,6表示可读可写,7表示可读可写可执行)
    

    扩展:linux 的硬链接和软链接

    硬链接:相当于原文件的一个备份副本,本质上还是一个文件,内容会随源文件的修改而修改,但是源文件删除后依然存在

    软连接:相当于 Windows 系统的快捷方式,删除源文件后,快捷方式也立即失效

    ln a.txt b.txt		创建a.txt的硬链接b.txt
    ln -s a.txt c.txt	创建a.txt的软链接c.txt
    

    文件内容查看

    cat 从第一行开始显示文件内容
    tac 从最后一行开始倒序显示文件内容
    cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
    tac /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    DEVICE=eth0
    
    nl 从第一行开始显示文件内容并附带行号
    nl /etc/sysconfig/network-scripts/ifcfg-eth0     
         1  DEVICE=eth0
         2  BOOTPROTO=dhcp
         3  ONBOOT=yes
    
    more 分页查看文件(使用空格键向下翻页,冒号+f 键可以显示当前所在的行号)
    less 分页查看文件(使用空格键向下翻页,支持使用上下键进行上下翻页,使用 q 键退出阅读)

    在阅读模式中,使用 /+关键词 可以向下查询关键词,使用 ?+关键字 可以向上查询关键字

    more /etc/csh.login
    less /etc/csh.login
    
    head 查看文件头部内容
    tail 查看文件尾部内容
    head -n 20 /etc/csh.login		显示文件前20行内容
    tail -n 20 /etc/csh.login		显示文件后20行内容
    

    创建和写入文件

    touch 创建文件
    使用 echo 实现文件写入
    touch a.txt					在当前目录下创建 a.txt 文件
    echo "Hi,BLU" >>a.txt		将字符串写入 a.txt 文件
    
    使用 Vim 编辑器创建或写入文件
    vim a.txt					使用vim编辑器打开a.txt,如果a.txt不存在则会被创建
    

    使用 vim 打开文件后首先进入命令模式,此时可以查看文件,但不能修改。
    按 i 键可以进入输入模式,按 ESC 键可以退出输入模式回到命令模式
    输入:进入底线命令模式,输入w表示保存,输入q表示退出vim,然后按回车键回到 linux 命令行模式


    用户管理

    查看所有的用户信息
    cat /etc/passwd		查看用户基本信息
    cat /etc/shadow		查看用户的密码(加密)
    
    useradd 添加用户
    创建一个名为 blucoding 的用户,并在/home目录下创建该用户的同名主目录:/home/blucoding:
    useradd -m blucoding
    
    userdel 删除用户
    删除 blucoding 用户,同时将其主目录一并删除:
    userdel -r blucoding
    
    usermod 修改用户
    usermod -d /home/blucode blucoding		修改指定用户的主目录(不会自动创建)
    
    passwd 设置用户密码 / 锁定指定用户 / 清除密码
    passwd blucoding		root用户给指定用户设置密码
    passwd -l blucoding		root用户锁定指定用户,该用户将不能登录
    passwd -u blucoding		root用户解锁指定用户,该用户能够使用密码登录
    passwd -d blucoding		root用户清除指定用户的密码,该用户将不能登录
    passwd					普通用户修改自己的密码
    
    su 切换用户
    exit 回到之前的用户
    su blucoding
    exit
    

    用户组管理

    查看所有的用户组信息
    cat /etc/group
    
    groupadd 添加用户
    groupadd blugroup				添加用户组
    groupadd -g 520 blugroup		添加用户组并指定组id(如果不指定就会自增1)
    
    groupdel 删除用户组
    groupdel blugroup			删除指定用户组
    
    groupmod 修改用户组
    groupmod -g 666 -n blugp blugroup		修改blugroup用户组的组id和名称
    

    磁盘管理

    df 文件系统磁盘使用情况统计
    df			查看文件系统磁盘的使用情况(单位为字节)
    df -h		查看文件系统磁盘的使用情况(单位为K、M、G)
    
    du 查看指定文件或目录占用的磁盘空间大小
    du					查看当前目录的磁盘占用大小
    du 文件/目录路径		查看指定文件或目录的大小
    

    进程管理

    ps 查看进程信息
    ps -A				查看所有的进程
    ps aux|grep redis	过滤查找进程(注意参数不带杠)
    ps -ef|grep redis	过滤查找进程(可以查看到父进程的信息)
    pstree -pu			以树状结构显示进程的父子信息
    
    kill 杀死进程
    kill -9 进程id		强制结束指定进程
    

    设置管理

    hostname 修改主机名
    hostname 			查看主机名
    hostname blu		修改主机名为blu (修该完毕后重新连接即可)
    

    其他命令

    screen 基础命令
    screen -S BLU				创建名为BLU的会话
    screen -ls					查看所有会话和会话ID
    screen -r 22043				根据会话的ID重新连接
    screen -X -S 2192 quit		杀死detached状态的screen会话
    
    展开全文
  • Linux系统常用的基本命令

    万次阅读 多人点赞 2018-08-15 15:11:08
    本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。...三、查看登录Linux系统所使用的终端 1、tty命令 四、显示操作系统的信息 1、uname命令:un...
  • Linuxlinux常用基本命令

    万次阅读 多人点赞 2013-03-22 13:54:04
    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2019-07-25 16:40:12
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • Linux基础常用命令讲解

    千人学习 2020-05-19 14:01:31
    部署测试虚机 linux的常用命令 linux系统的网络配置 虚拟机连通外网 linux常用命令
  • LinuxLinux基础常用命令1(常用Linux命令的基本使用,Linux终端命令格式)1. 常用Linux命令的基本使用1.1 学习Linux终端命令的原因1.2 常用Linux命令的基本使用1.3 自动补全2. Linux终端命令格式2.1 终端命令...
  • linux系列之常用运维命令整理笔录

    万次阅读 多人点赞 2019-10-28 17:33:21
    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些...
  • 玩转Linux常用命令实例指南

    万人学习 2019-09-28 11:40:56
    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 【限时福利】 1)购课后按提示添加...
  • Linux 常用命令集合

    万次阅读 多人点赞 2021-04-03 14:41:02
    Linux 常用命令集合 一 基本知识了解 1.1 目录结构 /bin: 存放二进制可执行文件,常用命令一般都在这里 /etc: 存放系统管理和配置文件 /home: 存放所有用户文件的根目录,是用户主目录的基点 /usr: 用于存放...
  • Linux系统常用维护命令

    千次阅读 2018-06-11 21:28:04
    # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# ...
  • Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • 黑客常用 Linux 入侵常用命令-

    千次阅读 2018-09-21 09:20:02
    黑客常用 Linux 入侵常用命令 2018年02月10日 10:49:33 坦GA 阅读数:2675 标签: 黑客常用 Linux 入侵常用命令 更多 个人分类: Linux初级/Linux高级/系统运维 安全技术/黑客技术 原文地址:...
  • LinuxLinux常用命令

    万次阅读 2018-05-29 09:55:03
    Linux系统安装成功后,就可以进入到与Windows类似的图形化界面了。这个界面就是Linux图形化界面X窗口系统的一部分。X窗口系统仅仅是Linux上的一个软件,它并不是Linux自身的一部分。 虽然X窗口系统已经和Linux系统...
  • 常用Linux日志查看命令

    万次阅读 多人点赞 2017-06-04 15:26:07
    常用Linux日志查看命令 欢迎关注公众号【程猿薇茑】 查看Web应用程序的运行日志解决运行时异常、出错是一项基本功。在Web程序中我们通过日志系统(比如log4j)向外部文件(比如log.txt)写入了程序运行时的某些...
  • linux系统常用的20个命令(适合新手练习)

    万次阅读 多人点赞 2019-07-30 09:49:52
    **linux系统常用的20个命令(适合新手)** 1.ls命令 功能:Linux系统中,ls命令只要用于查看指定工作目录的内容,列出指定目录下所含有的文件以及子目录; 实列:a.列出/mnt目录下的文件及其子目录: b.“ls –l”...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 429,253
精华内容 171,701
关键字:

linux系统常用命令

linux 订阅