Linux命令

# Linux命令

Linux终端介绍

  1. tty 控制台终端
    一开始 进入的是图形界面:tty1 就是图形界面

    tty1-tty6

    图形界面切换到字符界面终端:Ctrl+Shift+Alt+F2-F6

    重新切换成图形界面:Ctrl+F1

  2. pts虚拟终端,伪终端
    ssh工具链接上之后和在图形化界面打开一个终端一样都是pts虚拟终端

    打开一个pts虚拟终端:Ctrl+Shift+T

    切换终端窗口:Alt+1 Alt+2 …

    放大: Ctrl + Shift + +

    缩小:Ctrl + -

  3. shell提示符

    [ root@localhost ~ ]$

    [ 用户@主机名 当前工作目录名 ] 提示符 提示符root为#,普通用户为$

  4. Bash Shell基本语法

    Linux命令输入规律:

    如何输入命令:

    格式:命令 [选项] ([参数]) [选项的值] ([参数的值])

    注意:有空格,作为分割

    常见选项(参数):

    1. -h –help ;特点:选项样子为:-字母 或 –加单词

基本命令:

ls命令
​       作用:查看目录下有哪些文件

​       语法:ls 目录,如果不加目录查看当前目录

​       参数:

​           -l      显示详细信息

​           -a     显示隐藏文件      -A   显示隐藏文件(系统文件除外)

​           -d     查看目录(不查看里面的内容)

​           -h     增加可读性

​           -i   查看inode节点
pwd命令
​       作用:查看当前目录

​       语法:没有参数
cd命令
​       作用:切换目录

​       语法:cd目录名

​       特殊用法:

​           cd      回到用户自己主目录

​           cd ~       回到用户自己主目录

​           cd -        回到执行前所在的目录

​           cd /etc/sysyconfig/     和cd /etc/sysconfig一样

​           cd /etc/   和    cd /etc    一样
hwclock
    作用:查看系统和BIOS硬件时间:指的是bios时间

Linux获取帮助
​       方法1:命令 加参数 -h   或者加  --help

​       方法2:man 命令         man是手册的意思
shutdown
​       作用:关机、重启、定时关机

​       参数:

​           -r       =>   重启

    ​       -h       =>  关机

​           -h   时间 =>   定时关机

​           -c       =>     取消之前的定时关机  

​ 或者直接在下命令的终端直接Ctrl+c

            shutdown -h now             #立即关机

            shutdown -h +10             #10分钟后关机

            shutdown -h 10.00           #十点钟关机

            #shutdown -r 和 shutdown -h用法一样

            shutdown -r now             #立即重启

            shutdown r +10              #10分钟后重启

            shutdown -r 22:22           #22:22以后重启
init
​       作用:切换系统运行级别

​       语法:init 0-6

​            0代表关机、1 单用户模式、2多用户、3多用户(字符界面)、4没有定义、5图形界面、6重启
runlevel
​       作用:查看当前运行级别
reboot
        作用:重启
touch
​       作用:常用来创建空文件

​       语法: touch 文件名
        [root@xuegod63 /]# touch a.txt
        [root@xuegod63 /]# ls a.txt 
        a.txt
mkdir
​       作用:创建目录

​       语法:mkdir 目录名

​       参数:

​           -p      连同父目录一期创建

​           -m            创建的同时设置权限

​       e   g:

​           > mkdir /tmp/test

​           > mkdir -p  /a/b/c/d        
cat
​       作用:查看文件内容

​       语法:cat 文件

​       参数:-n     查看时显示行号

​       e    g:

​           > cat /etc/passwd
more
​       作用:查看文件名字

​       语法:more 文件

​       e    g:

​           > more  /etc/passwd
less
​       作用:查看文件名字

​       语法:less 文件

​       e    g:

​           > less  /etc/passwd
more与less的区别

more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便。
less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。空格键是向下翻页,Enter键是向下翻一行

​       作用:从第一行开始,查看文件,默认显示前10行

​       参数:-n 数字    显示多少行

​       e    g:

​           > head /etc/passwd

​           > head -n 3 /etc/passwd
tail
​       作用:从最后一行开始,查看文件,默认显示最后10行

​       参数:-n 数字    显示多少行

​               -f          动态显示数据(不关闭),常用来查看日志

​       e    g:

​           > tail -f /var/log/messages
cp
​       作用:复制文件或目录

​       语法:cp 源文件 目标文件

​       参数:

​           -r      包含子目录和文件               

​       e    g:

​           > cp /etc/passwd /tmp/

​           > cp /etc/ /tmp/

​           > cp -r /etc/ /tmp/
rm
​       作用:删除文件或目录

​       语法: rm -rf  文件或目录名

​       参数:

​           -r          递归删除(可以删除目录和目录里面的东西)

​           -f          不询问直接强行删除

​       e    g:

​           > rm -rf  /tmp/test
           # 排除某文件或目录不删除   index.php是要保留的文件名字,此名字可以是文件夹也可以是文件名都可以
           > rm -rf `ls -I index.php`
           #删除文件夹内所有文件保留部分文件
           >  rm -rf `ls|egrep -v '(index.php|data)'`
mv
​       作用:重命名(移动到不同路径则为剪切)

​       语法:mv 源文件或目录名    目标文件或目录名

​       e    g:

​           > mv test test1                 #重命名

​           > mv test /tmp/             #剪切         

​           > mv test /tmp/test1        #剪切并改名
diff
​       作用:比较两个文件是否一样

​       语法:diff 文件A 文件B
stat
​       作用:查看inode中包含的内容

​       语法:stat 文件
useradd/adduser
​       作用:添加用户

​       语法:useradd  用户名

​       参数:

​           -u      UID

​           -d      主目录

​           -g      所属组      #只能有一个

​           -G      附加组      #可以有多个

​           -s      登陆shell
userdel
​       作用:删除用户

​       语法:userdel  用户名

​       参数:

​           -r          递归 ,连同用户目录一起删除
usermod
​       作用:修改用户信息

​       语法:usermod  用户名

​       参数:

​           -u          修改uid

​           -d      主目录

​           -g      所属组      #只能有一个

​           -G      附加组      #可以有多个

​           -s      登陆shell
su
​       作用:切换用户

​       语法:su -  用户名

​       参数:

​           加上 -        在切换时会把环境变量一起进行切换

​           不加 -        保留原本的环境变量
id
​       作用:显示用户的UID和GID信息

​       语法:id 用户名
w
        作用:用于显示已经登录系统的用户列表,并显示正在执行的指令与程序
who
        作用:显示目前登录系统的用户信息
whoami
        作用:打印当前用户名称
finger
​       作用:查找并显示用户信息

​       语法:finger 用户名

​       安装:yum -y install finger
pstree
​       作用:树型结构显示系统进程信息

​       语法:pstree 参数

​       参数:

​           -p      显示进程号
tree
​       作用:显示目录树形结构

​       语法:tree 目录

​       安装:rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm
ps
​       作用:列出目前所有的正在内存当中的进程

​       语法:

​           ps -aux         是用BSD的格式来显示进程。

    ​       ps -ef          是用标准的格式显示进程
top
​       作用:动态查看进程

​       语法:top

使用说明:

​           默认3s刷新一次

​           空格 :立即刷新。

​           q退出

​           M按内存排序

​           P按CPU排序

​           <>  翻页
kill
​       作用:控制(关闭)进程

​       语法:kill 信号 pid

常用信号:

​           1  HUP   重新加载配置文件。类似重启。

​           2  INT   和ctrl+c一样   一般用于通知前台进程组终止进程****

​           9  KILL  强行中断

​           19 STOP  和ctrl+z一样
killall/pkill
​       作用:通过程序的名字,直接杀死所有进程

​       语法:killall/pkill 程序名字
nice
​       作用:优先级控制,以什么优先级运行进程 。默认优先级是0

​       语法:nice  -n 优先级数字 程序名称

​       说明:值  -20 ~ 19  越小优先级越高 普通用户0-19
renice
​       作用:修改正在运行的进程的优先级

​       语法:renice -n 优先级数字 PID
jobs
​       作用:列出所有后台进程

​       语法:jobs
fg
​       作用:后台程序改成前台

​       语法:fg 后台进程序列号
free
​       作用:查看系统内存量

​       语法:free

​       参数:

​           -m          按照MB显示
screen
​       作用:会话窗口

​       语法:
ln
​       作用:建立软/硬链接

​       用法:ln  源文件 目标文件 

​       参数:

​           -s      建立软链接

​       eg:
        1. 建立软连接    a 是源文件,b是链接文件名,作用是当进入b目录,实际上是链接进了a目录
        > ln -s a b 
        2. 删除软链接:    注意不是rm -rf  b/
        > rm -rf  b
        3. 建立硬链接    (没有-s)
        > ln  a b
​       软链接:

​           1.以路径的形式存在。类似于Windows操作系统中的快捷方式

​           2.可以 跨文件系统 ,硬链接不可以

​           3可以对一个不存在的文件名进行链接

​           4.可以对目录进行链接

​       硬链接:

​           1.以文件副本的形式存在。但不占用实际空间。

​           2.不允许给目录创建硬链接

​           3.只有在同一个文件系统中才能创建
file
​       作用: 确定file type

​       用法: file 文件

​       注意:linux系统不根据后缀名识别文件类型,用file命令查看文件的类型
which
​   作用:查找可执行文件

​   语法:which 可执行文件名称
whereis
​   作用:查找可执行文件及相关文件

​   语法:whereis 可执行文件名称
locate
​   作用:通过数据库缓存查找文件

​   语法:locate 文件名

说明:极少使用,该命令无法找到新创建的文件,必须执行updatedb命令更新数据库才能找到,每天两点左右系统会自动执行updatedb命令

find
​   作用:查找文件

​   语法:find 路径 参数 参数值 【-print 】【 -exec -ok command 】   {} \;

​           -print              # 将查找到的文件输出到标准输出

​           -exec   command   {} \;      #将查到的文件执行command操作,             

​           -ok                     # 和-exec相同,只不过在操作前要询用户

​           {} 和 \;                     # 是固定格式,之间有空格

​           command             # 要对查找出的文件执行的命令

​   参数:

​       按时间查找参数: 

​           -atime n        # 将n*24小时内存取过的的文件列出来

​           -ctime n        # 将n*24小时内改变、新增的文件或者目录列出来  


            -mtime n        # 将n*24小时内修改过的文件或者目录列出来  


​           -newer file         # 把比file还要新的文件列出来

​       用户及组查找参数:  


​           -gid n              # 寻找群组ID为n的文件  


​           -group name     # 寻找群组名称为name的文件  


​           -uid n          # 寻找拥有者ID为n的文件  


​           -user name      # 寻找用户者名称为name的文件  

​           -nogroup               # 寻找文件的属组在/etc/groups中不存在
​           -nouser                  # 寻找文件的属主在/etc/passwd中不存

​       权限查找参数:

​           -perm 0777      # 按执行权限来查找

​       文件属性查找参数:

​           -size       n               # 查长度为n的文件  +n代表大于n  -n代表小于n
​           -depth                    # 使查找在进入子目录前先行查找完本目录

​           -name file      # 寻找文件名为file的文件(可以使用通配符)
at(atd必须开启)
​   作用:计划任务,只能执行一次

​   语法:at  时间       # 进入编辑要执行的操作

​   参数:

​       -l              # 查询at计划任务

​   使用:
        > at 20:00
        # 进入编辑,输入要执行的命令
        echo `date`  > /tmp/date.txt   
        # 按下Ctrl+D 结束
        >^+d         

        # 也可以这样写
        > at  20:00 2015-2-23
        > at now +10min
atrm
​   作用:删除at计划任务

​   语法:at  序列号      #序列号可通过at -l查看
周期性计划任务:(crond服务要开启)
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,是linux的内置服务,不自动启动
crontab
  1. 安装crontab:

    > yum install crontabs
  2. 查看执行历史

    > tail -f /var/log/cron
  3. 启动服务  

    > /sbin/service crond start 
  4. 关闭服务

    > /sbin/service crond stop
  5. 重启服务

    > /sbin/service crond restart
  6. 重新载入配置

    > /sbin/service crond reload
  7. 查看服务运行状态

    > /sbin/service crond status
  8. 设置服务自动启动,在/etc/rc.d/rc.local这个脚本末尾加上

    > /sbin/service crond start
    或者:
    > chkconfig –level 35 crond on
  9. 新增任务计划可用两种方法:

    1. 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出
    2. 直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
  10. 查看已存在任务

    > crontab -l 
    
    # 列出用户jp的所有调度任务
    
    > crontab -l -u jp
    
  11. 删除任务调度工作,删除所有任务调度工作

    “`

    crontab -r
    “`

  12. crontab命令选项: cron服务提供crontab命令来设定cron服务的


    -u 用户
    -l 列出任务计划,
    -r 删除任务,
    -e 编辑某个用户的任务

  13. cron文件语法

    分      小时    日    月       星期      命令
    0-59    0-23   1-31   1-12     0-6     command    
    

    取值范围:


    分:0-59
    小时:0-23
    日:1-31
    月:1-12
    周:0-7 0 7 都是周日

    几个特殊符号的含义:


    "*" 代表取值范围内的所有数字,
    "/" 代表"每",
    "-" 代表从某个数字到某个数字,
    "," 分开几个离散的数字

anacron
    1. cron用控制循环执行例行性工作。如果我要设定机器每早8点进行备份用服务。除非我机器保证在8点这个时间点不会关机,如果关机了,cron中的脚本,在下次开机将不会被执行。
    2. anacron并没有取代cron的意思,anacron用于,机器重启后,会侦测停机期间,有没有cron没有执行的计划任务,如果有,会立即,执行一下没有执行的任务
chkconfig
    作用:

​    用法:

​    常用:

​       chkconfig 服务名 on            #把服务设为开机启动
zip
​       作用:压缩文件

​       用法: zip  参数  生成的zip文件  被压缩的文件/目录

​       参数:

​           -r  递归压缩一个目录
unzip
​       作用:解压文件

​       用法: unzip  解压的zip文件  [ -d  目录 ]     如果没有跟目录,默认当前目录

​       参数:

​           -d  指定解压到的目录
tar
​       作用:**打包、压缩文件**

​       语法:tar 选项 文件

​       参数:

​           -c :    建立一个压缩文件的参数指令(create 的意思);
​           -x :    解开一个压缩文件的参数指令
​           -t :        查看 tarfile 里面的文件!
​           -z :    是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
​           -j :        是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
​           -v :    压缩的过程中显示文件
​           -f :        使用档名
​           -p :    使用原文件的原来属性(属性不会依据使用者而变)
​           -P :    可以使用绝对路径来压缩!
​           -N :    比后面接的日期(yyyy/mm/dd)要新的才会被打包进新文件中
​           --exclude FILE: 除了FILE不压缩,排除多个,增加 --exclude  FILE 即可

特别注意:

1. 参数的下达中,c/x/t 只能存在一个,因为不可能同时压缩与解压缩

2. 在 f 之后要立即接档名喔!不要再加参数

常用命令:

    # 仅打包,不压缩
    > tar -cvf /tmp/etc.tar /etc

    # 打包后,以 gzip 压缩
    > tar -zcvf /tmp/etc.tar.gz /etc
    # 打包后,以 bzip2 压缩
    > tar -jcvf /tmp/etc.tar.bz2 /etc
    # 排除目录进行打包压缩
    > tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs  tomcat
    > tar zcvf  dlbbs-2017-05-1110.tar.gz  --exclude=upload/data --exclude=upload/uc_server/data/avatar --exclude=upload/uc_server/data/avatar_bak --exclude=upload/static --exclude=upload/static_bak upload/

    #解压缩/tmp/etc.tar.gz
    > tar -zxvf /tmp/etc.tar.gz
    #解压缩/tmp/etc.tar.bz2
    > tar -jxvf /tmp/etc.tar.bz2
    #解开压缩文件内的 etc/passwd
    > tar -zxvf /tmp/etc.tar.gz etc/passwd

    #查阅/tmp/etc.tar.gz有哪些文件
    > tar -ztvf /tmp/etc.tar.gz
rpm 安装功能
​   作用:管理rpm包

​   语法: rpm  【选项】  包名

​   参数:

​       -i, --install                           install package(s)

​       -v, --verbose                   显示详细信息 

​       -h, --hash                          # 安装时打印散列标记#号

​   常用:
        # 通过rpm包安装软件
        > rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
        # 忽略依赖强制安装
        > rpm -ivh --nodeps /mnt/Packages/mysql-server-5.1.52-1.el6_0.1.x86_64.rpm
​   安装时解决依赖关系:

​       方法1 : 直接找以perl-DBD-MySQL开头的包

​       方法2:  找关键字      root@xuegod63 Packages]# ls \*perl-DBD-MySQL

​       方法3:   上rpm包相关的网站上找

​               http://rpmfind.net/

​               http://rpm.pbone.net/

​               http://www.rpmseek.com/index.html

rpm查询功能:

​   作用:查询软件包相关信息

​   语法:rpm  【选项】  【软件名】

​   常用:
        # 查询zsh软件是否安装
        > rpm -q zsh
        # 查询系统所有安装过的rpm软件
        > rpm -qa
        # 查询zsh这个软件安装后,产生了那些文件和目录
        > rpm -ql zsh  
        # 查看文件是哪个软件安装的
        > which zsh命令名      # 返回命令的绝对路径
        > rpm -qf /bin/zsh     # /bin/zsh是上一步查出的绝对路径
        或
        > rpm -qf `which zsh`
        # 预先查看一个软件包,安装时将会生成哪些目录
        > rpm -pql /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
rpm升级功能:
​   作用:对已安装软件进行升级

​   用法:rpm -Uvh 包名
rpm卸载功能:
​   作用:卸载已安装的软件

​   用法:rpm -e 软件名

​   强制卸载:rpm -e --nodeps 软件名
安装.src.rpm源码包的方法
# 将src.rpm中源码文件编译成可执行的二进制文件。
> rpmbuild --rebuild  lrzsz-0.12.20-27.1.el6.src.rpm
# 若顺利执行成功则会在root用户家目录下生成一个: rpmbuild目录,然后使用rpm安装即可
导入RPM-GPG-KEY 在安装时对rpm的签名进行验证
​   用法:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

​   验证原理:非对称加密。 导入公钥。验证rpm中的签名是否是对的

使用yum安装软件 自动装软件包(软件包管理)

​ 解决依赖关系问题、自动下载软件包。基于C/S架构

http://mirrors.sohu.com/

  1. 配置yum源配置文件

    > cd /etc/yum.repos.d/
    > cp rhel-source.repo rhel-source.repo.back      #根据实际情况进行操作
    > cat rhel-source.repo
    
    [local-Server]    #serverid用于区别各个不同的yum软件包库,必须有独一无二的名称
    name=local-Server    #是对yum软件包库的描述
    baseurl=file:///mnt     #repodata目录所在的目录
    
    #baseurl=file:///media/Server      #RHEL5 repodata目录所在的目录是Server
    
    enabled=1                #为1,表示可以用
    gpgcheck=1               #为1,使用公钥检验rpm的正确性
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    
  2. yum的使用

    1. yum clean all #清除yum源缓存
    2. yum list #列出当前配置yum源的列表
    3. yum install 软件名 #安装
    4. yum -y install 软件名 #不询问直接安装
    5. yum grouplist #列出软件组
    6. yum groupinstall “Development tools #安装一组软件
    7. yum list z.* #列出以z开头的软件
    8. yum search 软件名 #按软件名查找
    9. yum remove 软件名 #删除软件
源码编译安装软件包

​ 系统必须安装:开发工具、开发库

步骤:

  1. 获得源码包

  2. 解压

  3. 配置,检测安装环境

    
    # 检查安装环境是否符合需求 ,如果没有问题,生成:Makefile文件
    
    > ./configure  
    
    # 或者指定软件安装目录,只会生成一个文件夹
    
    
    # /usr/local/extundelete-mk  为指定的目录
    
    > ./configure  --prefix=/usr/local/extundelete-mk
  4. 编译

    
    # 编译时会读取Makefile文件
    
    > make
  5. 安装

    > make install
  6. 删除

    
    # 安装时没有使用--prefix参数指定目录,在软件安装目录执行
    
    > make uninstall
    
    # 如果安装时使用--prefix参数指定了安装目录,直接删除掉目录即可
    

软件安装方法特点

  1. rpm+yum: 方便,软件版本低。稳定性好、管理方便。性能稍差。
  2. 手动源码编译安装:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。一般只有LAMP,LNMP服务环境才会使用源码安装

Linux系统目录结构

注意:每个目录下都有 ... 这两个隐藏目录,. 代表当前目录,.. 代表上一级目录

倒置树型结构:

/ 通常称为根分区。所有的文件和目录皆由此开始。只有root用户对此目录拥有写权限

/etc 配置文件 包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,例如/etc/passwd,/etc/init.d/network等

/boot 存放Linux系统启动时需要加载的文件。 (一般在另外一个磁盘分区里面保存) Kernel、grub等文件都存放在此

/home 普通用户所有数据存放在这个目录下

var 是一个可增长的目录,包含很经常变的文件。例如,/var/log(系统日志)、/var/lib (包文件)

/root 管理员所有数据。 root用户的家目录

/tmp 临时文件存储位置

/usr usr表示的是unix software source

/bin 命令 此目录包含二进制可执行文件

/sbin 系统命令 ,此目录中的命令主要供系统管理员使用,以进行系统维护。例如,iptables、reboot、fdisk等

/mnt 挂载目录 挂载点,系统管理员可用于临时挂载文件系统

/dev 包含设备文件。在Linux中,一切都被看做文件。终端设备、USB、磁盘等等都被看做文件,如/dev/sda

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值