精华内容
下载资源
问答
  • 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 命令总结 大全

    千次阅读 多人点赞 2021-07-02 19:35:43
    今天,带来Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令命令有点多,建议小伙伴们可以先收藏后阅读。 目录1. 基本命令2. 关机3. 文件和目录4. 文件搜索5. 挂载个文件系统6. ...

    在这里插入图片描述

    今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。
    在这里插入图片描述

    目录

    WindowsLinux
    诞生于1985年11月,微软公司推出1991年10月5日,芬兰大学生(林纳斯·托瓦兹)开发的类Unix版本
    不开源,收费(目前网上下载的基本上都是盗版)开源免费(源代码公开)
    Windows OS时常打补丁系统更新之类的,相对不安全相对安全(全世界有很多的Linux爱好者,自愿为维护开源Linux献上绵薄之力)
    桌面OS份额大,但服务器、移动设备OS、嵌入式占有率低系统运行稳定、成本低、跨平台可移植性好,在服务器、嵌入式领域占有率高,桌面领域(Linux最薄弱的领域,一致被Windows所压制)占有率逐渐提高
    单用户(xp之前)多任务系统多用户多任务系统
    面向广大消费者面向开发者
    操作简单,使用方便相对普通使用者来说,有较高的要求,使用时高大上

    在这里插入图片描述

    1. 基本命令

    uname -m 显示机器的处理器架构
    uname -r 显示正在使用的内核版本
    dmidecode -q 显示硬件系统部件
    (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性
    hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息
    arch 显示机器的处理器架构
    uname -m 显示机器的处理器架构
    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 显示已加载的文件系统
    lspci -tv 罗列 PCI 设备
    lsusb -tv 显示 USB 设备
    date 显示系统日期
    cal 2007 显示2007年的日历表
    date 041217002007.00 设置日期和时间 - 月日时分年.秒
    clock -w 将时间修改保存到 BIOS

    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. 文件和目录

    cd /home 进入 ‘/ home’ 目录’
    cd … 返回上一级目录
    cd …/… 返回上两级目录
    cd 进入个人的主目录
    cd ~user1 进入个人的主目录
    cd - 返回上次所在的目录
    pwd 显示工作路径
    ls 查看目录中的文件
    ls -F 查看目录中的文件
    ls -l 显示文件和目录的详细资料
    ls -a 显示隐藏文件
    ls [0-9] 显示包含数字的文件名和目录名
    tree 显示文件和目录由根目录开始的树形结构(1)
    lstree 显示文件和目录由根目录开始的树形结构(2)
    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 -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
    file file1 outputs the mime type of the file as text
    iconv -l 列出已知的编码
    iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
    find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

    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天内被创建或者修改过的文件
    find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 结尾的文件并定义其权限
    find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
    locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令
    whereis halt 显示一个二进制文件、源码或man的位置
    which halt 显示一个二进制文件或可执行文件的完整路径

    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 挂载一个cdrom或dvdrom
    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 以容量大小为依据依次显示文件和目录的大小
    rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
    dpkg-query -W -f=’ I n s t a l l e d − S i z e ; 10 t {Installed-Size;10}t InstalledSize;10t{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

    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’ 排除主目录)
    usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
    passwd 修改口令
    passwd user1 修改一个用户的口令 (只允许root执行)
    chage -E 2005-12-31 user1 设置用户口令的失效期限
    pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户
    grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组
    newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

    8. 文件的权限 使用 “+” 设置权限,使用 “-” 用于取消

    ls -lh 显示权限
    ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
    chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
    chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
    chown user1 file1 改变一个文件的所有人属性
    chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
    chgrp group1 file1 改变文件的群组
    chown user1:group1 file1 改变一个文件的所有人和群组属性
    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 位
    chmod +x 文件路径 为所有者、所属组和其他用户添加执行的权限
    chmod -x 文件路径 为所有者、所属组和其他用户删除执行的权限
    chmod u+x 文件路径 为所有者添加执行的权限
    chmod g+x 文件路径 为所属组添加执行的权限
    chmod o+x 文件路径 为其他用户添加执行的权限
    chmod ug+x 文件路径 为所有者、所属组添加执行的权限
    chmod =wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
    chmod ug=wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限

    9. 文件的特殊属性 ,使用 “+” 设置权限,使用 “-” 用于取消

    chattr +a file1 只允许以追加方式读写文件
    chattr +c file1 允许这个文件能被内核自动压缩/解压
    chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
    chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
    chattr +s file1 允许一个文件被安全地删除
    chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
    chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
    lsattr 显示特殊的属性

    10. 打包和压缩文件

    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 创建一个非压缩的 tarball
    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目录下
    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格式压缩包

    在这里插入图片描述

    11. 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 -qg “System Environment/Daemons” 显示一个组件的rpm包
    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 包

    12. 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 search package_name 在rpm仓库中搜寻软件包
    yum clean packages 清理rpm缓存删除下载的包
    yum clean headers 删除所有头文件
    yum clean all 删除所有缓存的包和头文件

    13. deb 包

    dpkg -i package.deb 安装/更新一个 deb 包
    dpkg -r package_name 从系统删除一个 deb 包
    dpkg -l 显示系统中所有已经安装的 deb 包
    dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包
    dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
    dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
    dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
    dpkg -S /bin/ping 确认所给的文件由哪个deb包提供
    APT 软件工具 (Debian, Ubuntu 以及类似系统)
    apt-get install package_name 安装/更新一个 deb 包
    apt-cdrom install package_name 从光盘安装/更新一个 deb 包
    apt-get update 升级列表中的软件包
    apt-get upgrade 升级所有已安装的软件
    apt-get remove package_name 从系统删除一个deb包
    apt-get check 确认依赖的软件仓库正确
    apt-get clean 从下载的软件包中清理缓存
    apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

    14. 查看文件内容

    cat file1 从第一个字节开始正向查看文件的内容
    tac file1 从最后一行开始反向查看一个文件的内容
    more file1 查看一个长文件的内容
    less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
    head -2 file1 查看一个文件的前两行
    tail -2 file1 查看一个文件的最后两行
    tail -f /var/log/messages 实时查看被添加到一个文件中的内容

    15. 文本处理

    cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
    cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
    cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
    grep Aug /var/log/messages 在文件 '/var/log/messages’中查找关键词"Aug"
    grep ^Aug /var/log/messages 在文件 '/var/log/messages’中查找以"Aug"开始的词汇
    grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
    grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串"Aug"
    sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
    sed ‘/^KaTeX parse error: Expected 'EOF', got '#' at position 48: …除所有空白行 sed '/ *#̲/d; /^/d’ example.txt 从example.txt文件中删除所有注释和空白行
    echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
    sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
    sed -n ‘/stringa1/p’ 查看只包含词汇 “string1"的行
    sed -e ‘s/ $//’ example.txt 删除每一行最后的空白字符
    sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部
    sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容
    sed -n ‘5p;5q’ example.txt 查看第5行
    sed -e 's/00
    /0/g’ example.txt 用单个零替换多个零
    cat -n file1 标示文件的行数
    cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行
    echo a b c | awk ‘{print $1}’ 查看一行第一栏
    echo a b c | awk ‘{print $1,$3}’ 查看一行的第一和第三栏
    paste file1 file2 合并两个文件或两栏的内容
    paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用”+"区分
    sort file1 file2 排序两个文件的内容
    sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
    sort file1 file2 | uniq -u 删除交集,留下其他的行
    sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
    comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’ 所包含的内容
    comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’ 所包含的内容
    comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

    16. 字符设置和文件格式转换

    dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
    unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
    recode …HTML < page.txt > page.html 将一个文本文件转换成html
    recode -l | more 显示所有允许的转换格式

    17. 文件系统分析

    badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
    fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
    fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
    e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
    e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
    fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
    fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
    fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
    dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

    18. 初始化一个文件系统

    mkfs /dev/hda1 在hda1分区创建一个文件系统
    mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
    mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
    mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
    fdformat -n /dev/fd0 格式化一个软盘
    mkswap /dev/hda3 创建一个swap文件系统

    19. SWAP文件系统

    mkswap /dev/hda3 创建一个swap文件系统
    swapon /dev/hda3 启用一个新的swap文件系统
    swapon /dev/hda2 /dev/hdb3 启用两个swap分区

    20. 备份

    dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
    dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
    restore -if /tmp/home0.bak 还原一个交互式备份
    rsync -rogpav --delete /home /tmp 同步两边的目录
    rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
    rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
    rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
    dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作
    dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
    tar -Puf backup.tar /home/user 执行一次对 ‘/home/user’ 目录的交互式备份操作
    ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制一个目录内容
    ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制一个本地目录
    tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
    find /home/user1 -name ‘.txt’ | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 ‘.txt’ 结尾的文件到另一个目录
    find /var/log -name '
    .log’ | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 ‘.log’ 结尾的文件并做成一个bzip包
    dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
    dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

    在这里插入图片描述

    21. 光盘

    cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容
    mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件
    mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件
    mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件
    cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
    gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件
    mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
    cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中
    cd-paranoia – “-3” 从一个CD光盘转录音轨到 wav 文件中(参数-3)
    cdrecord --scanbus 扫描总线以识别scsi通道
    dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

    22. 网络(以太网和WIFI无线)

    ifconfig eth0 显示一个以太网卡的配置
    ifup eth0 启用一个 ‘eth0’ 网络设备
    ifdown eth0 禁用一个 ‘eth0’ 网络设备
    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
    ifconfig eth0 promisc 设置 ‘eth0’ 成混杂模式以嗅探数据包 (sniffing)
    dhclient eth0 以dhcp模式启用 ‘eth0’
    route -n show routing table
    route add -net 0/0 gw IP_Gateway configura default gateway
    route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network ‘192.168.0.0/16’
    route del 0/0 gw IP_gateway remove static route
    echo “1” > /proc/sys/net/ipv4/ip_forward activate ip routing
    hostname show hostname of system
    host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
    ip link show show link status of all interfaces
    mii-tool eth0 show link status of ‘eth0’
    ethtool eth0 show statistics of network card ‘eth0’
    netstat -tup show all active network connections and their PID
    netstat -tupl show all network services listening on the system and their PID
    tcpdump tcp port 80 show all HTTP traffic
    iwlist scan show wireless networks
    iwconfig eth1 show configuration of a wireless network card
    hostname show hostname
    host www.example.com lookup hostname to resolve name to ip address and viceversa
    nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
    whois www.example.com lookup on Whois database

    23. 列出目录内容

    ls -a:显示所有文件(包括隐藏文件);
    ls -l:显示详细信息;
    ls -R:递归显示子目录结构;
    ls -ld:显示目录和链接信息;
    ctrl+r:历史记录中所搜命令(输入命令中的任意一个字符);
    Linux中以.开头的文件是隐藏文件;
    pwd:显示当前目录

    24. 查看文件的类型

    file:查看文件的类型

    25. 复制文件目录

    1、cp:复制文件和目录 cp源文件(文件夹)目标文件(文件夹)

    常用参数:-r:递归复制整个目录树;-v:显示详细信息;
    复制文件夹时要在cp命令后面加一个-r参数:
    如:cp -r 源文件夹 目标文件夹

    2、touch+文件名:当文件不存在的时候,创建相应的文件;当文件存在的时候,修改文件的创建时间。

    功能:生成一个空文件或修改文件的存取/修改的时间记录值。
    touch * :将当前下的文件时间修改为系统的当前时间
    touch –d 20040210 test:将test文件的日期改为20040210
    touch abc :若abc文件存在,则修改为系统的当前时间;若不存在,则生成一个为当前时间的空文件

    3、mv 文件 目标目录:移动或重命名文件或目录(如果指定文件名,则可以重命名文件)。可以将文件及目录移到另一目录下,或更改文件及目录的名称。

    格式为:mv [参数]<源文件或目录> <目标文件或目录>
    mva.txt …/:将a.txt文件移动上层目录
    mv a.txt b.txt:将a.txt改名为b.txt
    mvdir2 …/:将dir2目录上移一层

    4、rm:删除文件;

    常用参数:-i:交互式 -r:递归的删除包括目录中的所有内容

    5、mkdir +文件夹名称:创建文件夹;

    6、rm -r +文件夹名称:删除文件夹(空文件夹和非空文件夹都可删除)

    rmdir 文件夹名称:删除文件夹(只能删除空文件夹)

    7、mkdir -p dir1/dir2 :在当前目录下创建dir1目录,并在dir1目录下创建dir2目录, 也就是连续创建两个目录(dir1/和dir1/dir2)

    8、rmdir –p dir1/dir2:删除dir1下的dir2目录,若dir1目录为空也删除它

    9、rm * :删除当前目录下的所有文件

    10、-f参数:强迫删除文件 rm –f *.txt:强迫删除所有以后缀名为txt文件

    11、-i参数:删除文件时询问

    rm –i * :删除当前目录下的所有文件会有如下提示:
    rm:backup:is a directory    遇到目录会略过
    rm: remove ‘myfiles.txt’ ? Y
    删除文件时会询问,可按Y或N键表示允许或拒绝删除文件

    12、-r参数:递归删除(连子目录一同删除,这是一个相当常用的参数)
    rm -r test :删除test目录(含test目录下所有文件和子目录)
    rm -r *:删除所有文件(含当前目录所有文件、所有子目录和子目录下的文件) 一般在删除目录时r和f一起用,避免麻烦
    rm -rf test :强行删除、不加询问

    13、grep:功能:在文件中搜索匹配的字符并进行输出

    格式:grep[参数] <要找的字串> <要寻找字 串的源文件>
    greplinux test.txt:搜索test.txt文件中字符串linux并输出

    14、ln命令

    功能:在文件和目录之间建立链接
    格式:ln [参数] <源文件或目录> <目标文件或目录>
    链接分“软链接”和“硬链接”
    1.软链接:
    ln–s /usr/share/do doc :创建一个链接文件doc,并指向目录/usr/share/do
    2.硬链接:
    ln /usr/share/test hard:创建一个硬链接文件hard,这时对于test文件对应 的存储区域来说,又多了一个文件指向它

    26. 系统常用命令

    1、显示命令

    date:查看或设置当前系统的时间:格式化显示时间:+%Y–%m–%d;
    date -s:设置当前系统的时间
    hwclock(clock):显示硬件时钟时间(需要管理员权限);
    cal:查看日历
    格式cal [参数] 月年
    cal:显示当月的日历 cal4 2004 :显示2004年4月的日历
    cal- y 2003:显示2003年的日历
    uptime:查看系统运行时间

    2、输出查看命令

    echo:显示输入的内容 追加文件echo “liuyazhuang” >> liuyazhuang.txt
    cat:显示文件内容,也可以将数个文件合并成一个文件。
    格式:格式:cat[参数]<文件名>
    cat test.txt:显示test.txt文件内容
    cat test.txt | more :逐页显示test.txt文件中的内容
    cat test.txt >> test1.txt :将test.txt的内容附加到test1.txt文件之后
    cat test.txt test2.txt >readme.txt : 将test.txt和test2.txt文件合并成readme.txt 文件
    head:显示文件的头几行(默认10行) -n:指定显示的行数格式:head -n 文件名
    tail:显示文件的末尾几行(默认10行)-n:指定显示的行数 -f:追踪显示文件更新 (一般用于查看日志,命令不会退出,而是持续显示新加入的内容)
    格式:格式:tail[参数]<文件名>
    tail-10 /etc/passwd :显示/etc/passwd/文件的倒数10行内容
    tail+10 /etc/passwd :显示/etc/passwd/文件从第10行开始到末尾的内容
    more:用于翻页显示文件内容(只能向下翻页)
    more命令是一般用于要显示的内容会超过一个画面长度的情况。为了避免画 面显示时瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。
    ls -al |more:以长格形式显示etc目录下的文件列表,显示满一个画面便暂停,可 按空格键继续显示下一画面,或按Q键跳离
    less:翻页显示文件内容(带上下翻页)按下上键分页,按q退出、‘
    less命令的用法与more命令类似,也可以用来浏览超过一页的文件。所不同 的是less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符“:”下按Q键即可。
    ls -al | less:以长格形式列出/etc目录中所有的内容。用户可按上下键浏览或按Q键跳离

    3、查看硬件信息

    Ispci:查看PCI设备 -v:查看详细信息
    Isusb:查看USB设备 -v:查看详细信息
    Ismod:查看加载的模块(驱动)

    4、关机、重启

    shutdown关闭、重启计算机
    shutdown[关机、重启]时间 -h关闭计算机 -r:重启计算机
    如:立即关机:shutdown -h now
    10分钟后关机:shutdown -h +10
    23:30分关机:shutdown -h 23:30
    立即重启:shutdown -r now
    poweroff:立即关闭计算机
    reboot:立即重启计算机

    5、归档、压缩

    zip:压缩文件 zip liuyazhuang.zip myfile 格式为:“zip 压缩后的zip文件文件名”
    unzip:解压文件 unzip liuyazhuang.zip
    gzip:压缩文件 gzip 文件名
    tar:归档文件
    tar -cvf out.tar liuyazhuang 打包一个归档(将文件"liuyazhuang"打包成一个归档)
    tar -xvf liuyazhuang.tar 释放一个归档(释放liuyazhuang.tar归档)
    tar -cvzf backup.tar.gz/etc
    -z参数将归档后的归档文件进行gzip压缩以减少大小。
    -c:创建一个新tar文件
    -v:显示运行过程的信息
    -f:指定文件名
    -z:调用gzip压缩命令进行压缩
    -t:查看压缩文件的内容
    -x:解开tar文件
    tar -cvf test.tar *:将所有文件打包成test.tar,扩展名.tar需自行加上
    tar -zcvf test.tar.gz *:将所有文件打包成test.tar,再用gzip命令压缩
    tar -tf test.tar :查看test.tar文件中包括了哪些文件
    tar -xvf test.tar 将test.tar解开
    tar -zxvf foo.tar.gz 解压缩
    gzip各gunzip命令
    gziptest.txt :压缩文件时,不需要任何参数
    gizp–l test.txt.gz:显示压缩率

    6、查找

    locate:快速查找文件、文件夹:locate keyword
    此命令需要预先建立数据库,数据库默认每天更新一次,可用updatedb命令手工建立、更新数据库。欢迎关注我们,公号终码一生。
    find查找位置查找参数
    如:
    find . -name liuyazhuang 查找当前目录下名称中含有"liuyazhuang"的文件
    find / -name .conf 查找根目录下(整个硬盘)下后缀为.conf的文件
    find / -perm 777 查找所有权限是777的文件
    find / -type d 返回根目录下所有的目录
    find . -name "a
    "-exec ls -l {} ;
    find功能:用来寻找文件或目录。
    格式:find [<路径>] [匹配条件]
    find / -name httpd.conf 搜索系统根目录下名为httpd.conf的文件

    7、ctrl+c :终止当前的命令

    8、who或w命令
    功能:查看当前系统中有哪些用户登录
    格式:who/w[参数]
    9、dmesg命令
    功能:显示系统诊断信息、操作系统版本号、物理内存的大小以及其它信息

    10、df命令

    功能:用于查看文件系统的各个分区的占用情况

    11、du命令
    功能:查看某个目录中各级子目录所使用的硬盘空间数
    格式:du [参数] <目录名>

    12、free命令
    功能:用于查看系统内存,虚拟内存(交换空间)的大小占用情况

    在这里插入图片描述

    27. VIM

    VIM是一款功能强大的命令行文本编辑器,在Linux中通过vim命令可以启动vim编辑器。

    一般使用vim + 目标文件路径 的形式使用vim
    如果目标文件存在,则vim打开目标文件,如果目标文件不存在,则vim新建并打开该文件
    :q:退出vim编辑器

    VIM模式

    vim拥有三种模式:

    (1)命令模式(常规模式)
    vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。
    命名模式常用命令如下:
    i : 在光标前插入文本;
    o:在当前行的下面插入新行;
    dd:删除整行;
    yy:将当前行的内容放入缓冲区(复制当前行)
    n+yy :将n行的内容放入缓冲区(复制n行)
    p:将缓冲区中的文本放入光标后(粘贴)
    u:撤销上一个操作
    r:替换当前字符
    / 查找关键字

    (2)插入模式
    在命令模式下按 " i "键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。

    (3)ex模式
    在命令模式中按" : "键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim.
    ext模式常用命令如下:
    :w :保存当前的修改
    :q :退出
    :q! :强制退出,保存修改
    :x :保存并退出,相当于:wq
    :set number 显示行号
    :! 系统命令 执行一个系统命令并显示结果
    :sh :切换到命令行,使用ctrl+d切换回vim

    28. 软件包管理命令(RPM)

    1、软件包的安装
    使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm
    i:作用rpm的安装模式 v: 校验文件信息h: 以#号显示安装进度

    2、软件包的删除
    删除模式会将指定软件包的内容全部删除,但并不包括已更改过的配置文件,删除RPM软件包的命令如下:rpm –e wu-ftpd
    注意:这里必须使用软件名“wu-ftpd”或”wu-ftpd-2.6.2-8而不是使用当初安装时的软件包名.wu-ftpd-2.6.2-8.i386.rpm

    3、软件包升级
    升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm –Uvh:升级参数

    4、软件包更新
    更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件 包更新。如果情况属实,rpm命令会自动更新指定的软件包;反之,若系统中并没有指定软件包的较旧版本,rpm命令并不会安装此软件包。而在升级模式下,不管系统中是否有较旧的版本,rpm命令都会安装指定的软件包。
    rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm -Fvh:更新参数

    5、软件包查询
    若要获取RPM软件包的相关信息,可以使用查询模式。使用-q参数可查询一个已 安装的软件包的内容
    rpm –q wu-ftpd
    查询软件包所安装的位置:rpm –ql package-name

    rpm –ql xv (l参数:显示文件列表)

    在这里插入图片描述

    在这里插入图片描述

    好了,今天就介绍到这里,觉得不错了,记得点赞➕关注奥 ! 如果觉得有用,可以先收藏了!

    展开全文
  • Linux超全命令总结,看这篇就够了,建议小伙伴们先收藏后阅读!!

    大家好,我是冰河~~

    最近家里的事情太多了,很久没更新技术文了。期间,也收到了很多小伙伴的鼓励,谢谢大家的帮助和支持,我想感谢大家最好的方式就是持续分享好的技术文章了吧,让自己和他人持续有所收获。

    今天,给小伙伴们带来一篇史上最全Linux命令总结的文章,命令有点多,建议小伙伴们先收藏后阅读。

    小伙伴们如果觉得文章不错,点赞、收藏、评论,分享走一起呀,记得给冰河来个一键三连~~

    好了,我们开始今天的正文。

    列出目录内容

     ls -a:显示所有文件(包括隐藏文件);
     ls -l:显示详细信息;
     ls -R:递归显示子目录结构;
     ls -ld:显示目录和链接信息;
     ctrl+r:历史记录中所搜命令(输入命令中的任意一个字符);
     Linux中以.开头的文件是隐藏文件;
     pwd:显示当前目录
    

    查看文件的类型

     file:查看文件的类型
    

    复制文件目录

    1、cp:复制文件和目录 cp源文件(文件夹)目标文件(文件夹)
    常用参数:-r:递归复制整个目录树;-v:显示详细信息;
    复制文件夹时要在cp命令后面加一个-r参数:
    如:cp -r 源文件夹  目标文件夹
    
    2、touch+文件名:当文件不存在的时候,创建相应的文件;当文件存在的时候,修改文件的创建时间。
    功能:生成一个空文件或修改文件的存取/修改的时间记录值。
    touch * :将当前下的文件时间修改为系统的当前时间
    touch –d 20040210 test:将test文件的日期改为20040210
    touch abc :若abc文件存在,则修改为系统的当前时间;若不存在,则生成一个为当前时间的空文件
    
    3、mv 文件 目标目录:移动或重命名文件或目录(如果指定文件名,则可以重命名文件)。可以将文件及目录移到另一目录下,或更改文件及目录的名称。
    格式为:mv [参数]<源文件或目录> <目标文件或目录>
    mva.txt ../:将a.txt文件移动上层目录
    mv a.txt b.txt:将a.txt改名为b.txt
    mvdir2 ../:将dir2目录上移一层
    
    4、rm:删除文件;
    常用参数:-i:交互式   -r:递归的删除包括目录中的所有内容
    
    5、mkdir +文件夹名称:创建文件夹;
    
    6、rm -r +文件夹名称:删除文件夹(空文件夹和非空文件夹都可删除)
    rmdir 文件夹名称:删除文件夹(只能删除空文件夹)
    
    7、mkdir  -p dir1/dir2 :在当前目录下创建dir1目录,并在dir1目录下创建dir2目录, 也就是连续创建两个目录(dir1/和dir1/dir2)
    
    8、rmdir –p dir1/dir2:删除dir1下的dir2目录,若dir1目录为空也删除它
    
    9、rm * :删除当前目录下的所有文件
    
    10、-f参数:强迫删除文件 rm –f  *.txt:强迫删除所有以后缀名为txt文件
    
    11、-i参数:删除文件时询问
    rm –i  * :删除当前目录下的所有文件会有如下提示:
    rm:backup:is a directory    遇到目录会略过
    rm: remove ‘myfiles.txt’ ? Y
    删除文件时会询问,可按Y或N键表示允许或拒绝删除文件 
    
    12、-r参数:递归删除(连子目录一同删除,这是一个相当常用的参数)
    rm  -r test :删除test目录(含test目录下所有文件和子目录)
    rm  -r  *:删除所有文件(含当前目录所有文件、所有子目录和子目录下的文件) 一般在删除目录时r和f一起用,避免麻烦
    rm  -rf test :强行删除、不加询问
    
    13、grep:功能:在文件中搜索匹配的字符并进行输出
    格式:grep[参数] <要找的字串> <要寻找字 串的源文件>
    greplinux test.txt:搜索test.txt文件中字符串linux并输出
    
    14、ln命令
    功能:在文件和目录之间建立链接
    格式:ln [参数] <源文件或目录> <目标文件或目录>
    链接分“软链接”和“硬链接”
    1.软链接:
    ln–s /usr/share/do  doc :创建一个链接文件doc,并指向目录/usr/share/do
    2.硬链接:
    ln  /usr/share/test  hard:创建一个硬链接文件hard,这时对于test文件对应 的存储区域来说,又多了一个文件指向它
    

    系统常用命令

    1、显示命令
    date:查看或设置当前系统的时间:格式化显示时间:+%Y--%m--%d;
    date -s:设置当前系统的时间
    hwclock(clock):显示硬件时钟时间(需要管理员权限);
    cal:查看日历
    格式cal [参数] 月年
    cal:显示当月的日历   cal4 2004 :显示2004年4月的日历
    cal- y 2003: 显示2003年的日历
    uptime:查看系统运行时间
    
    2、输出查看命令
    echo:显示输入的内容  追加文件echo "liuyazhuang" >> liuyazhuang.txt
    cat:显示文件内容,也可以将数个文件合并成一个文件。
    格式:格式:cat[参数]<文件名>
    cat  test.txt:显示test.txt文件内容
    cat  test.txt | more  :逐页显示test.txt文件中的内容
    cat  test.txt >> test1.txt :将test.txt的内容附加到test1.txt文件之后
    cat  test.txt test2.txt >readme.txt : 将test.txt和test2.txt文件合并成readme.txt 文件
    head:显示文件的头几行(默认10行) -n:指定显示的行数格式:head -n 文件名
    tail:显示文件的末尾几行(默认10行)-n:指定显示的行数   -f:追踪显示文件更新 (一般用于查看日志,命令不会退出,而是持续显示新加入的内容)
    格式:格式:tail[参数]<文件名>
    tail-10 /etc/passwd :显示/etc/passwd/文件的倒数10行内容
    tail+10 /etc/passwd :显示/etc/passwd/文件从第10行开始到末尾的内容
    more:用于翻页显示文件内容(只能向下翻页)
    more命令是一般用于要显示的内容会超过一个画面长度的情况。为了避免画  面显示时瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。
    ls  -al  |more:以长格形式显示etc目录下的文件列表,显示满一个画面便暂停,可 按空格键继续显示下一画面,或按Q键跳离
    less:翻页显示文件内容(带上下翻页)按下上键分页,按q退出、‘
    less命令的用法与more命令类似,也可以用来浏览超过一页的文件。所不同  的是less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符“:”下按Q键即可。
    ls  -al | less:以长格形式列出/etc目录中所有的内容。用户可按上下键浏览或按Q键跳离
    
    3、查看硬件信息
    Ispci:查看PCI设备  -v:查看详细信息
    Isusb:查看USB设备 -v:查看详细信息
    Ismod:查看加载的模块(驱动)
    
    4、关机、重启
    shutdown关闭、重启计算机
    shutdown[关机、重启]时间  -h关闭计算机   -r:重启计算机
    如:立即关机: shutdown -h now
    10分钟后关机:shutdown -h +10
    23:30分关机:shutdown -h 23:30
    立即重启: shutdown -r now
    poweroff:立即关闭计算机
    reboot:立即重启计算机
    
    5、归档、压缩
    zip:压缩文件  zip liuyazhuang.zip myfile  格式为:“zip 压缩后的zip文件文件名”
    unzip:解压文件  unzip liuyazhuang.zip
    gzip:压缩文件 gzip 文件名
    tar:归档文件
    tar -cvf out.tar liuyazhuang  打包一个归档(将文件"liuyazhuang"打包成一个归档)
    tar -xvf liuyazhuang.tar     释放一个归档(释放liuyazhuang.tar归档)
    tar -cvzf backup.tar.gz/etc  
    -z参数将归档后的归档文件进行gzip压缩以减少大小。
    -c:创建一个新tar文件
    -v:显示运行过程的信息
    -f:指定文件名
    -z:调用gzip压缩命令进行压缩
    -t:查看压缩文件的内容
    -x:解开tar文件
    tar  -cvf test.tar  *:将所有文件打包成test.tar,扩展名.tar需自行加上
    tar  -zcvf test.tar.gz  *:将所有文件打包成test.tar,再用gzip命令压缩
    tar -tf   test.tar :查看test.tar文件中包括了哪些文件
    tar -xvf test.tar       将test.tar解开
    tar -zxvf foo.tar.gz   解压缩
    gzip各gunzip命令
    gziptest.txt :压缩文件时,不需要任何参数
    gizp–l test.txt.gz:显示压缩率
    
    6、查找
    locate:快速查找文件、文件夹: locate keyword
    此命令需要预先建立数据库,数据库默认每天更新一次,可用updatedb命令手工建立、更新数据库。
    find查找位置查找参数
    如:
    find . -name *liuyazhuang* 查找当前目录下名称中含有"liuyazhuang"的文件
    find / -name *.conf  查找根目录下(整个硬盘)下后缀为.conf的文件
    find / -perm 777 查找所有权限是777的文件
    find / -type d 返回根目录下所有的目录
    find . -name "a*"-exec ls -l {} \;
    find功能:用来寻找文件或目录。
    格式:find [<路径>] [匹配条件]
    find / -name httpd.conf  搜索系统根目录下名为httpd.conf的文件
    
    7、ctrl+c :终止当前的命令
    
    8、who或w命令
    功能:查看当前系统中有哪些用户登录
    格式:who/w[参数]
    9、dmesg命令       功能:显示系统诊断信息、操作系统版本号、物理内存的大小以及其它信息
    
    10、df命令   功能:用于查看文件系统的各个分区的占用情况
    
    11、du命令
    功能:查看某个目录中各级子目录所使用的硬盘空间数
    格式:du [参数] <目录名>
    
    12、free命令
    功能:用于查看系统内存,虚拟内存(交换空间)的大小占用情况
    

    VIM

    VIM是一款功能强大的命令行文本编辑器,在Linux中通过vim命令可以启动vim编辑器。
    一般使用vim + 目标文件路径 的形式使用vim
    如果目标文件存在,则vim打开目标文件,如果目标文件不存在,则vim新建并打开该文件
    :q:退出vim编辑器
    
    VIM模式
    vim拥有三种模式
    (1)命令模式(常规模式)
    vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。
    命名模式常用命令如下:
    i : 在光标前插入文本;
    o:在当前行的下面插入新行;
    dd:删除整行;
    yy:将当前行的内容放入缓冲区(复制当前行)
    n+yy :将n行的内容放入缓冲区(复制n行)
    p:将缓冲区中的文本放入光标后(粘贴)
    u:撤销上一个操作
    r:替换当前字符
    / 查找关键字
    
    (2)插入模式
    在命令模式下按 " i "键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。
    
    (3)ex模式
    在命令模式中按" : "键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim.
    ext模式常用命令如下:
    :w :保存当前的修改
    :q :退出
    :q! :强制退出,保存修改
    :x  :保存并退出,相当于:wq
    :set number 显示行号
    :! 系统命令  执行一个系统命令并显示结果
    :sh :切换到命令行,使用ctrl+d切换回vim
    

    软件包管理命令(RPM)

    1、软件包的安装
    使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm
    i:作用rpm的安装模式 v: 校验文件信息h: 以#号显示安装进度
    
    2、软件包的删除
    删除模式会将指定软件包的内容全部删除,但并不包括已更改过的配置文件,删除RPM软件包的命令如下:rpm –e  wu-ftpd
    注意:这里必须使用软件名“wu-ftpd”或”wu-ftpd-2.6.2-8而不是使用当初安装时的软件包名.wu-ftpd-2.6.2-8.i386.rpm
    
    3、软件包升级
    升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm  –Uvh:升级参数
    
    4、软件包更新
    更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件 包更新。如果情况属实,rpm命令会自动更新指定的软件包;反之,若系统中并没有指定软件包的较旧版本,rpm命令并不会安装此软件包。而在升级模式下,不管系统中是否有较旧的版本,rpm命令都会安装指定的软件包。
    rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm   -Fvh:更新参数
    
    5、软件包查询
    若要获取RPM软件包的相关信息,可以使用查询模式。使用-q参数可查询一个已   安装的软件包的内容
    rpm  –q wu-ftpd
    查询软件包所安装的位置:rpm –ql package-name
    rpm –ql xv (l参数:显示文件列表)
    

    写在最后

    如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以私信我交流,希望我的一些经历能够帮助到大家~~

    推荐阅读:

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,我是冰河,我们下期见~~

    展开全文
  • 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会话
    
    展开全文
  • RHEL常用Linux命令操作 四章实验报告

    千次阅读 多人点赞 2020-05-20 11:26:27
    项目1) 启动计算机,利用root用户登录到系统,进入字符提示界面。 (2) 用pwd命令查看当前所在的目录(3) 用ls命令列出此目录下的文件和目录。...(9) 利用touch 命令,在当前目录创建个新的空文件newfile
  • Linux五章 linux常用命令--实测常用

    千次阅读 多人点赞 2019-01-15 20:20:51
    linux命令 格式:命令 -选项 参数 eg:ls -la /usr -l:long -a:all(包括隐藏文件) -t:time 内部切换命令: cd:切换目录 change directory pwd:显示当前工作目录 print working directory help:帮助 外部...
  • Linux命令

    千次阅读 2011-08-19 17:43:06
    LINUX中  root 代表超级管理员  [root@rh9 root]  root 代表用户名  rh9 代表主机名  root 代表当前目录  查看[root@rh9 root]  命令:whoami 查看当前用户  hostname 查看
  • Linux系统编程常用命令总结

    万次阅读 多人点赞 2019-08-14 23:08:29
    Linux常用命令 1、常用工具 2、目录和文件命令 3、安装和卸载软件命令 4、压缩包管理 5、文件属性、用户用户组及查找与检索命令 6、网络管理命令 7、其他命令 二、Linux vi/vim常用命令 三、Linux下...
  • 10分钟让你掌握Linux常用命令(5000+收藏)

    万次阅读 多人点赞 2019-09-25 15:38:04
    1、目录操作。2、文件操作。3、文件内容操作。4、压缩和解压缩。5、日志查看。6、Linux下文件的详细信息。7、常用的docker容器的命令。8、其他命令
  • LINUX常用命令

    千次阅读 多人点赞 2019-06-04 21:40:33
    Linux常用命令 Linux常用命令 su 作用:切换用户身份 文件处理命令 文件或目录的CRUD cd 英文:change directory 命令路径:内部命令 执行权限:所有用户 作用: 切换目录 语法:cd [目录] / 切换到根目录 … 回到上...
  • linux命令之login命令

    千次阅读 2014-02-15 13:33:19
    login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h ...如果选择用命令行模式登录Linux的话,那么看到的第一Linux命令就是login:。 一般界面是这样的:
  • Linux命令大全(1

    千次阅读 2020-10-14 08:41:12
    Linux命令大全(1) 所用的参考书:Linux实用教程三版、Linux操作系统项目化教程 所需的软件为CENTos7和VMWAREworkstationpro 字符界面基础: 安装Linux系统后,系统启动默认进入的图形化界面,可以通过使用以下...
  • Linux命令学习教程【建议收藏】

    千次阅读 多人点赞 2021-08-30 21:17:07
    Linux基础命令 操作系统 学习目标 能够知道操作系统的作用 1. 常见的操作系统 Windows mac OS Linux iOS Android 2. 操作系统的定义 操作系统直接运行在计算机上的系统软件, 它是控制硬件和支持软件运行的...
  • Linux命令整理

    千次阅读 2011-08-12 15:28:38
    要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命
  • Linux命令手册

    千次阅读 2009-09-09 16:15:00
    〇如何使用虚拟终端 按下ctrl+shift+F1到F6的任意一键看看,就可以看到出现了刚才第一次进入系统前的画面了,如果你输入用户名和密码一样进入了另外一个shell,想回到第一个虚拟终端,你可以ctrl+shift+F1就了,用...
  • 常用linux命令1

    千次阅读 2017-12-07 15:10:49
    这遍笔记中包括我近期常用的命令(su、sudo、ifconfig、vim、mkdir、tar等等),还记录较为的基础操作(如grep、kill、ps等)。...第一命令的输出就是下一个命令的输出。 使用中可查询http://man.linuxde.n
  • Linux命令大全

    千次阅读 多人点赞 2016-11-09 20:44:00
    http://www.runoob.com/linux/linux-shell.html  ... 第一章、linux 的介绍和安装1.1 linux 操作系统介绍 linux 的创始人 Linus torvalds。 linux 与 GNU 和 minix linux 与 windows linux 与 un...
  • LINUX命令总结

    万次阅读 2014-01-27 15:54:20
    1、 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2、从Linux上远程显示Windows桌面 安装rdesktop包 3、 手动添加默认网关 以root用户, 执行: route add default...
  • SecureCRT萌新常用命令及Linux命令大全整理

    万次阅读 多人点赞 2016-12-30 13:37:49
    SecureCRT常用命令Linux常用命令
  • SecureCRT常用Linux命令

    千次阅读 2019-02-18 17:40:06
    总结一下经常用到的命令、常用: 1.cd:改变目录 cd /: 进入根目录 cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxt cd ..:回到上级目录 2.pwd:显示当前所在的目录 3.ls: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,685
精华内容 38,274
关键字:

linux命令回到第一行

linux 订阅