zoukankan      html  css  js  c++  java
  • Linux 基本命令

    命令怎么用

    shutdown --help

    shutdown --?

    man shutdown         这三种方法都可以

    shutdown  用错了他会有提示

    哪一个命令不知道怎么用了,问问男人就可以了

    man 就是manual  手册, 指南   用手的, 手工的

    clear

    clear是清屏幕,windows是cls

    Cd转换目录

    转换目录是cd,与windows底下一样

    cd /  这样就到了最根上的目录, 正斜杠是最根上的目录

    mkdir

    Mkdir  make dir创建一个新的目录,不是文件

    Rm

    rm -rf 最常用

    rmdir   删除一个空的目录,该目录下面不能有任何东西

    rmdir  空的目录名

    rm -r 目录名  recursive 这个命令总是问我

    rm -rf 目录名   force 强制 不要再问我了  最常用

    rm -rf 文件名   也可以删掉文件

    recursive    回归的,递归的    remove 去除

    touch

    创建一个文件

    touch 1        文件名叫1,没有后缀名

    在Linux下面,文件的后缀名在技术上没有任何意义。但是给文件起名字的时候还是正常一点好   例如 3.txt是文本   RT.exe 是可执行程序

    列出文件的内容

    cat  tac  head   tail    more

    cat  3.txt                   正序  从第一行开始

    tac  3.txt                   倒序  从倒数第一行开始

    head 3.txt      头   head  -3  3.txt        列出前3行    head可以带参数  -lines

    tail  3.txt            尾  tail  -1  3.txt        最后一行

    more 3.txt -------more默认是可以分页的,所以很多管道用到了他

    Cp+move

    cp    copy 拷贝       mv     move 移动

    cp 1   2   把1这个文件拷贝一份,名字叫2,这样我就有两个文件了

    cp -r d1 d2  拷贝目录必须带参数 r

    很容易理解:删出一个目录,先要删去目录下面的东西。要用递归,拷贝也是

    mv d2  d1  把d2目录移到d1,如果不行,加递归  mv –r

    改名字 mv

    Mv除了可以移动外,还可以改名字

    Mv 3.txt  4.txt  把3.txt的名字改为4.txt

    关机+重启+退出

    exit 是退出命令行

    reboot是重启

    shutdown关机,这个命令需要带一个参数   shutdown   now

    init 0 也是关机,因为有好几层,6层吧

    logout是注销

    退出:q -- ctrl+c --- ctrl+d,说不清楚他们是退出什么的,到时候都试试

    man ls 的时候会有很多内容,q 键可以退出

    ls列出目录下的东西

    windows下面是dir ,dir在Linux下面也可以

    列出当前目录下面的东西(包括目录与文件),这个命令有几个参数

    ls –l 这个最常用

    ls     横着排显示,这一行显示满了接着下一行

    ls -l           是L,也是一行一行的显示,不过,一行只显示一个文件或者目录,有关于这个文件或者目录详细的信息    

    ls -m      横着排显示,这一行显示满了接着下一行

    ls -R     有点像树状展示

    whoami

    显示当前的用户,是root还是其他用户

    pwd

    显示当前你所在的目录

    按5下 ESC

    按5下 ESC,会出现可以很多使用的命令

    display all 2091 possiblities,所以说RedHat Linux有2000多个命令

    mount 挂载+卸载

    mount point 挂载点

    挂载----------------------------------------------------------------------

    mount  /dev/cdrom   /mnt/cdr    将根目录下的dev目录下的cdrom设备与

    根目录下的mnt目录下的cdr目录关联起来,这就是挂载

    挂载点------cdr   设备-----CDROM

    卸载---------------------------------------------------------------------

    umount  /dev/cdrom  或者 umount /mnt/cdr

    VI is important

    这个命令面试最多,vi是文本编辑器,类似于windows的notepad

    touch是创建一个文件,但是这个文件没有内容,怎么往里面加内容,用vi

    vi   3.txt  打完这个命令以后,

    出来一个文本编辑器,但是输不进去内容,因为刚开始进入的是命令模式,只能敲命令

    vi有两种模式--命令模式与编辑模式,刚开始进入的命令模式,不能输入内容

    敲a进入编辑模式,底下会出现insert这个单词   append 追加

    敲esc   退出编辑模式,进入命令模式

    在命令模式下面,敲冒号 : ,然后底下也会出现冒号  ,然后再敲命令  w 是存盘

    q 是退出   q!是不存盘退出   wq是存盘退出(最常用)

    我想  wq是存盘退出   w是不是write的意思

    more 3.txt 显示3.txt的内容

    find

    他与grep怎么区分

    查找某个文件的名字(前提是你记得大概的名字),查找它的路径路径路径,他在哪里

    find 功能很强大

    还可以根据创建日期查找,查找rc.local

    find  /   -name  *local  从根目录下面开始查找,指定一个位置,从那里开始查

    find /etc  -name *local

    find /etc | grep  local   系统回去找含有local这几个字母的所有文件或者目录

    find  /  -name MySQL   系统只是回去找名字叫MySQL的文件或者目录

    find  /  -name MySQL*   系统回去找名字叫前几个字母是MySQL(后面任意)

    的文件或者目录

    名字不必写全

    whereis

    whereis  ls  查找ls这个命令在哪里

    /bin  bin 目录下面有各种命令  vi  cat   ls   pwd 等等

    /usr/bin   目录下面也有各种命令

    查看环境变量

    在DOS下面看环境变量

    echo %path%

    echo %classpath%

    Linux下面  echo $PATH   PATH  必须大写

    链接  ln

    是 LN   ------------- link

    ln  3.txt  4        more 4

    链接与拷贝有什么区别 ----------对于链接,我改了3.txt,4的内容也会自动跟着改

    前提是你没有修改4

    ln 3.txt  4   这是硬链接,相当于你又复制了一份,然后再在两个文件之间建立了快捷方式

    修改3.txt,4也会变

    ln -s 3.txt 5    soft这是软连接,相当于windows里面的快捷方式

    软连接:修改3.txt,5也会变

    两种链接的不同之处

    将3.txt删去,5不存在了,连接断掉了,4还存在

    wc

    word count  不是厕所   wc  -l  lines  这个文件有多少行

    grep

    grep 很常用的一个命令,请你牢牢记住他                   他的全称是什么

    global  regular expressions  print  全局正则表达式版本

    在文本文件中查找指定的字符串,并且把包含的那一行给显示出来,注意是那一行

    grep student    4

    在4这个文本文件中找student这个字符串,哪一行包含它,显示出来

    ^在正则表达式中,代表一行的开头

    ls -l | grep '^d'  只把目录列出来,/etc下面的文件与目录很多

    ^ 这个字符在数字6上面

    rpm –qa 把所有的包都列出来,

    rpm -qa | grep MySQL   查找含有MySQL这几个词的所有包,只要包名里面有MySQL这几个字母,就会被找出来

    grep 与 find

    find /  -name MySQL*

    find /  | grep MySQL

    fdisk  -l              L

    显示当前的磁盘信息

    dmesg

    列出开机的启动信息  全称是------d  message

    dmesg | grep eth0    看第一块网卡启动正常吗

    命令替换wall

    命令替换---用的不多   开俩个命令行

    wall 的全称------warning  all  通知所有人,警告所有人,不是墙

    wall  helloworld  

    wall  `date`  警告的字符是当前的时间,把date当做一个命令,把这个命令执行的结果警告出去

    wall  date   警告的字符是  date

    `  这个字符是数字1左边那个字符

    重定向

    重定向  ---用的也不多

    Java原来的一个程序

    把out替换掉

    System.out.println()   原来这个命令会输出到命令行中,现在他把命令输出到了文件中

    ls

    ls > cmd.txt 把刚才ls执行的命令的结果输入到cmd.txt这个文件中

    错误输出重定向---------

    lssss > cmd.txt   不行 , lsss这个命令不存在

    lssss 2> cmd.txt

    重定向输入

     wall < cmd.txt  把cmd.txt里面的内容警告出去

    空的

    管道

    管道用的巨多

    分页显示,/etc下面的内容很多

    ls -R

    ls -R  | more  这句话的意思

    把上一个命令执行的结果交给下一个命令

    ls -l /etc |  more

    | ----------------是管道连接符

    more默认是可以分页的,但是ls -l 不会分页,有时候显示的内容巨多无比,用more将结果。分页岂不很好

    管道一旦学会后,他的功能会很强大

    ls -l | grep '^d'  只把目录列出来,/etc下面的文件与目录很多

    文件权限 file privilege

    Linux极其极其重要的东西--文件权限------必须掌握-----------file privilege

    前言

    最左边的一共有10位

        - (代表文件)  d(代表目录)   l(是L代表链接)

    把最左边的那一个去掉,就剩下9个了,可以划分成3组

    -rw-r--r--                 划分成3组    -   rw-   r--   r--

    drwxr-xr-x

    lrwxrwxrwx

    除过代表字符,还有9位,他们代表什么

    Linux文件的权限分为4种---------

    read  write   execute   none(什么也没有)

    9位分成3组

    第一组代表这个文件的所有者有什么权限

    第二组代表这个文件的所有者同组的人所拥有的权限

    第三组代表剩下的人具有什么权限

    x--------------execute

    r-------------read

    w---------------write

    - 代表什么也没有  none

    Chmod-不专业

    你也可以修改权限change  mode  change modify

    chmod  +x 4  给4这个文件加上可执行权限,那么,那三组人都具有了这个权限

    chmod  -x 4  取消权限

    我想给只给自己加上可执行权限,剩下的那两组人我不管,只给第一组加上权限

    chmod u+x  4

    怎样让同组的其他人也有这个权限   chmod g+x 4,只给第二组加上权限  group

     chmod o+x 4,只给第三组加上权限  other

    专业改法

    上面的写法不专业,下面好---------------------

    chmod 755 4             chmod 777 4

    7表示权限都齐了   5表示没有写的权限

    在Linux(Unix)内部表示权限,是用3个八进制数来表示的

    000  =====0               111 ======7

    读             写                  可执行

    一个8进制     一个8进制        一个8进制

    三位               三位                 三位

    怎么修改文件的所有者

    chown    testuser1   4  -------------change owner

    简单用户的管理

    当一个用户登录的时候,默认的路径是这个用户的主目录

    添加用户

    useradd  testuser   adduser  testuser

    这两个都可以

    设置密码

    passwd testuser  给这个用户设置密码,你要是输错了密码,按了退格键 ---没戏,不行。因为密码不显示

    两个位置变化

    增加一个用户后,系统有俩个位置会有变化-------------- /home 与  /etc

    --------------------------------------1

    cd /home   ls

    home目录会有一个自动生成的目录,叫做testuser

    --------------------------------------2

    etc目录呢

    cd /etc

    more  passwd    打开 passwd这个文件

    passwd这个文件没有存密码,存的是所有的用户,testuser这个用户在这里也可以找到

    testuser:x:501:502::/home/testuser:/bin/bash

    这句话的意思:这个用户 id号---501   所位于的组:502

    用户的主目录为----/home/testuser

    这个用户用到的shell  --------  /bin/bash

    用户组------------------------------------------------

    组的信息在group这个文件中  /etc/group

    当你添加一个用户不指定组的时候,他会添加一个和你用户名一样的组

    添加一个组

    groupadd testg

    useradd testuser2 -g testg  添加用户的时候指定组

    你也可以修改用户所属的组   usermod -g testuser   testuser2

                                         新的组     用户名

    usermod---------user modify

    删除用户与组

    删除用户分两步---删掉用户  删掉他的目录

    userdel  testuser

    cd /home

    rm -rf testuser

    组的删除

    groupdel  testg

    用户切换

    switch  user

    su  testuser2

    Shell

    用户的shell ---------

    你不会与内核直接打交道

    内核外面有一层,叫做shell,shell会解释你在Linux下面敲的命令,然后再与内核打交道

    shell有不同的形式

    有不同的shell,c  shell -------c 语言形式的shell

    不同的shell执行的命令是不一样的,同样的命令在不同的shell底下不能通用,常用的命令

    可以通用

    咱们用的shell叫做 bash,这个以前的名字叫做bsh,名字的由来,是由一个叫做bone的人

    写的,所以叫做bsh,后来他又写了一边,bone again shell ,所以叫做 bash

    bash ------ 切换到bash

    csh  --- 切换到 C  shell

    ksh -----  切换到k   shell

    sh  最原始最原始的shell

    bsh ------ 切换到bsh

    修改系统默认的启动级别

    修改那一个配置文件时,先备份

    修改配置文件  /etc/inittab,将id:5:initdefault中的数字5改为3

    因为

    3 纯命令行界面,有网络共享

    5 图形界面

    下一回系统启动的就不进入那个图形界面了

    重要的几个

    IP

    查看IP地址与设置IP地址

    ifconfig既可以查询IP,又可以设置IP

    ipconfig是windows下面的命令

    Linux 查询IP命令   ifconfig----------------

    ifconfig 命令也能配置IP----------

    ifconfig   eth0   IP地址

    服务 service

    启动服务,例如启动Mysql的服务

    service mysql  start   不是所有的命令都有这个d这个字母

    service iptables stop  关掉防火墙

    service vsftpd  start  启动vsFTP服务器

    service vsftpd  stop  服务停止

    service vsftpd  restart 重新启动

    但是,你怎么知道服务的名字呢??用这个命令chkconfig

    Ps -ef

    怎么知道该项服务已经启动了,例如Mysql的服务已经启动了

    ps---process 进程   -e ==  -A 列出所有的进程

    ps -ef | grep 服务名

    ps -ef | grep mysql     ps -ef | grep tomcat

    还有疑问(当结果只有一行的时候,可以认为他们就是关闭的)

    开机自启动

    你不用再手动的再去启动Mysql,vsftp,apache等等

    用chkconfig这个命令,check configure  检查配置

    你不仅可以知道这个服务是否开机启动了

    还可以为这个服务设置开机自启动

    还可以知道这个服务的名字

    如何知道这个服务的名字呢------------

    chkconfig --list 这个命令会列出所有的服务项,你可以慢慢看,又可以搜

    chkconfig --list |  more

    chkconfig --list | grep mysql

    chkconfig --list | grep vsftpd

    chkconfig mysql on    这几个3 4 5级别都启动

    chkconfig --level 3 mysql on 只是在3这个级别启动

    chkconfig mysql off

    Mysql数据库的服务--------------mysql

    vsFTP服务器的服务------------vsftpd

    防火墙的服务------------iptables

    ssh的服务------------sshd

    http------------------httpd

  • 相关阅读:
    python多线程编程(6): 队列同步
    Python验证Url地址的正则表达式
    centos下redis安全配置相关
    redis
    mysql安装 配置
    centos7安装python3 环境变量配置 django安装 以及tab补全功能
    saltstack 与常用服务部署
    vim
    Linux系统基础优化及常用命令
    Shell 基本命令
  • 原文地址:https://www.cnblogs.com/burningmyself/p/7451428.html
Copyright © 2011-2022 走看看