01Linux基础命令

Posted steven9898

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01Linux基础命令相关的知识,希望对你有一定的参考价值。

linux 一些主要目录的认识:
/bin 二进制可执行命令
/boot 存放系统引导文件,如 内核、grub 等
/dev 设备文件
/etc 系统配置目录
/home 普通用户家目录
/lib 系统库文件
/lib64 64位库
/proc 进程目录,了解系统的一个窗口,在此可以查看很多内核信息
/root root用户的家目录
 
/sbin 管理员使用命令的存放目录
/selinx selinux 工作目录
如果该目录为空表示禁用了 selinux
如果不为空,则表示启用了 selinux
/src 系统、用户源文件工作目录
有时用户在编译源代码时,会把代码放到该目录
 
/var 存放比较大的,经常变化的文件
如果系统经常把日志放在该目录
linux 命令:
    命令分类:
linux 把命令分为内部命令和外部命令.
内部命令:
shell 自带的命令,常驻内存
外部命令:
不常驻内存,以文件的形式放在磁盘上
 
判断方法:
能执行,去找不到文件就是内部命令
 
或者
 
type cd
 
    获取命令帮助的方法:
1) man
    格式:man 命令名
    如:  man fdisk   --获得fdisk的帮助信息
 
    2) help
    格式: help 命令名
  命令名 --help
    如:   help cd
  useradd -help
3) info  侧重介绍信息
    如: info fdisk
        info mount
 
 
使用命令前,了解命令特征:
1、命令、参数等区分大小写
2、程序能否执行与扩展名没有关系,与文件能否执行,是否有执行权限有关
3、命令名和路径可以使用 tab  来补齐
 
文件、目录管理命令
    ls   列文件目录清单
格式: ls [option] 查看目标
 
如:   ls /soft
      ls /boot
      ls /var
      ls        --如果省掉目标的话,查看当前目录
 
option:
    -l     长格式显示
    -a     显示全部(包括隐含文件)
   隐含文件方法:文件名以 . 开头
    -t     按修改时间排序
    -r    反向排序
            -S    按大小排序
    
      ls -l
-rw-------. 1 root root  1638 10月 29 23:24 anaconda-ks.cfg
-rw-r--r--. 1 root root 55504 10月 29 23:24 install.log
                 表类型和权限
 
第一列的第一位:文件类型
    -    普通文件
    d    目录
    b 块设备文件
    c 字符设备文件
    l 软链接
    p 管道文件
 
第一列2-10 表权限
    linux 权限用三个字母表示  r(读)   w(写)   x(执行)
                            4      2       1
    9位分成三组:每三位一组,每组对应一类用户:属主(自己)、
    开放组、其它用户
 
第二列:硬链接数
 
第三列:属主
第四列:开放组
 
第五列:文件大小
 
第六列:修改日期
 
第七列:文件名
 
 
    touch 新建空文件,如果文件存在不覆盖,但是会更新其修改时间
 
    rm    删除文件或目录
格式: rm [option]  目标文件或目录
 
 
option:
    -r   删除目录
    -f   强制删除不提示
    rf  组合时要慎用
 
 
如果删除目录: rm -r  目录名
如:   rm /test/a     --删除/test/ 下的a
      rm  b          --删除当前目录下的 b
    mkdir     创建目录
mkdir [option]  目录名
 
option:
    -p    如果目录的上层目录不存,自动创建
    -v    显示过程
例:在/下创建 test  
            mkdir /test
    
        例:在 /  下创建  u01
    mkdir /u01
 
例:在 /soft 下创建 myshare
    mkdir /soft/myshare
                --做的时候要确保 /soft要存在
 
例:在 /u01 建 app
    mkdir -pv /u01/app
 
    cp  复制文件
格式: cp 源文件  目标文件
option:
    -r    复制目录
    -f    强制覆盖,不提示
    -i    覆盖时提示
    
 
例: cp /etc/yp.conf  /test/
        /etc/yp.conf 复制到 /test 下
 
        例: /etc 下所有以a开头的文件复制到 /test 下
     
 
scp  网络复制
格式: scp  源文件   目标文件
如果文件不在本机的表示方法:
    ip:路径
 
    如:172.16.1.116:/etc/fstab
        表示 172.16.1.116 的 /etc/fstab 这个文件
 
本机文件表示无须ip
        如:/etc/fstab
 
例:把 172.16.1.132 的文件 /etc/fstab 复制到本机的 /test 下
scp 172.16.1.132:/etc/fstab  /test/
 
例:把本机的 /etc/yp.conf 复制到 172.16.1.123 下的 /root
scp /etc/yp.conf 172.16.1.123:/root/
 
练习:和同学互拷一下
 
注:scp 依赖于sshd 服务,sshd 不要关掉了,另外在拷贝时要求输入对方机器的密码
 
 
    mv  移动或改名
格式:mv 源文件 目标文件
 
例: mv a b    --将当前目录下的文件a 改名为b
例: mv a /tmp/b   --将当前目录下的a 移动到/tmp 下,并改名为 b
 
    究竟是改名还是移动,主要看前后位置,前后位置没变就是改名
 
    移动和改名可以同步进行
 
练习: / 建两个目录  test    abc
               /etc 下所有 .conf 文件拷到 abc 下,再看abc
              下以a 开头的文件移到 test 下
 
      mkdir /test
      mkdir /abc
      cp /etc/*.conf /abc/
      cd /abc
      ls
              mv a*  /test/
      ls /test   也可以  cd /test;ls
 
    cd   切换目录
 格式:cd  目标目录
        
      cd ..      --回到上一级
      cd         --回到家目录,查看用户家目录 echo $HOME
      cd ~       --回到家目录
      cd ~tom    --到tom的家目录
   
 例: cd /test    --将当前目录转到 /test
             cd test     --将当前目录转到当前目录下的 test
 
 
    pwd  显示当前目录
 
    rmdir 删除空目录
 
    cat   显示文件内容
格式:  cat [option] 文件名
option:
     -n     显示行号
     -b     显示行号
    -E     显示行尾符
     -A     显示非打印字符
 
如:  cat /proc/cpuinfo
    more  分屏显示文件内容
    less  分屏显示文件内容
          还可通过箭头向上或向下移动看
 
 
    练习:看下 /etc/passwd 文件内容    
         看下 /etc/shadow 文件的内容
 
 
重定向
    重定向即改变输入或输出的方向
  
    输入重定向
<    
 
    [root@s100 ~]# cat myfile
123456
123456
 
    [root@s100 ~]# passwd <myfile
 
    输出重定向
>       以覆盖的方式输出重定向
>>      以追加的方式输出重定向
 
 
    双向重定向  tee
一般的重定向,将信息写到文件后,屏幕就不会再显示了,tee 既能把信息显
        示在屏幕上,同时也能把信息写到文件,这就是称之的双向重定向
 
操作时一般用管道的形式
   如: uptime | tee myfile
 
 
 
    重定向的编码
0    标准输入
1 标准输出
2 错误输出
 
    由于信息的不同,于是重定向时就有变化了
1>   
2>  
 
cat myfile  abcd 1>a.txt 2>b.txt   
              --将标准输出定向到a.txt 错误信息定向到b.txt
 
cat myfile  abcd 1>a.txt 2>&1
      --将标准输出定向到a.txt 错误信息定向到标准输出的文件(即放到一块)
        实际上可以简写为
 
cat myfile abcd >& a.txt
        >/dev/null    --将信息定向到空设备,将所有的输出信息丢弃掉,不显示
 
 
管道  |
    
    管道主要用来将命令连接起来,将前一个命令处理的结果,传给后一个
    有时一些需求比较复杂,可能一个命令没办法完成,这里就可以用管道
    让每个命令处理一部分,最后完成需求。使用格式上,就是将命令用 “|” 连起来
 
    例:显示每个用户的用户名和所使用的shell
cat /etc/passwd | awk -F: ‘printf("%-15s%s\n",$1,$7)‘
 
cat /etc/passwd | awk -F: ‘printf("%-15s%s\n",$1,$7)‘|sort -k2
 
    例:看 /etc/passwd 中是否有root的行
cat /etc/passwd | grep root
 
    例:看 /etc/passwd  有没有 shutdown 的行
cat /etc/passwd | grep shutdown
 
    例:看无线网卡的地址
ifconfig | grep wlan0 | awk ‘print $5‘
 
 
head  看文件头的前多少行
head /etc/passwd   --默认看前10行
 
head -n 5 /etc/passwd 看文件前 5 行
 
tail  看文件后的多少行
tail -n 3 /etc/passwd  看文件的最后3行
 
   tail -f /etc/passwd    监控文件的变化(用于rhel5)
 
     练习:
  看文件的指定行,例只看文件的第3行
head -n 3 | tail -n 1
 
查看文件指定范围的行,如 3-5 行
head -n 5 /etc/passwd | tail -n 3
 
 
vi/vim 使用
    vi/vim 是linux下使用非常广泛的文本编辑器
 
    学习前我们切到  /test  下,并把 /etc/yp.conf 复制到 /test
mkdir /test
cp /etc/yp.conf /test
cd /test
vim yp.conf
 
    vim 的工作模式:
编辑模式
    该模式主要用于输入一些编辑指令,如 dd, u  等,不能输入文本内容
    它的特点是 左下角无任何提示字样     
 
    切换到该模式的方法:按左上解的 ESC 键
 
插入模式
    该模式主要用于插入文本,
    它的特点是 左下角有 “插入”字样
 
    切换到该模式的方法: i I a A o O s S
 
 
末行命令模式
    主要用来输入一些编辑指令,特点是左下角有个冒号(:)
 
    切换到该模式的方法:编辑模式下(如果不在编辑模式,要切到编辑模式),
                            输入冒号(:)
 
    常用的末行命令:
    w      保存
    q      退出
    wq 保存退出
    w! 不保存退出
    set number  显示行号
    set nonumber 不显示行号
 
 
编辑模式下的一些指令:
    删除:
dd    删除行
DD 只清空当前行
50dd   删除50行
 
d^ 删除到行首
d$ 删除到行尾
    撤消:
u   撤消
    复制
yy 复制一行
5yy 复制5行
 
p 粘贴
 
方法二: v  进入可视化操作 -> 移动光标选内容  -> y (copy)  -> 移到光标到目标
       位置 -> 在编辑模式下 按 p
    移动
方法一:先复制,再删除
方法二: v  进入可视化操作 -> 移动光标选内容  -> c (cut)  -> 移到光标到目标
       位置 -> 在编辑模式下 按 p
 
    查找
/+查找字符  (向下查找)
      如: /abc     --查看字符abc
  /yp --查找字符yp
 
/+查找字符 (向上查找)
      如: ?abc     --查看字符abc
  ?yp --查找字符yp
n   下一个
 
    替换
要在末行命令模式下
 
范围s/原字符/新字符/参数
范围:
    1 1行
    10   10行
    $ 最后1行
    1,$ 从第1行到最后1行
    % 全文
 
参数
    g 全局替换(适用于一行有多个符合条件的字符)
例:将1-5行中的#换成*
    :1,5s/#/*/g
 
例:把所有的#删除掉
    :%s/#//g
 
    作业:
1、将学习到的一些基本命令操作一遍
   /下建一个 work 目录,
   /etc下以 a 开头的文件目录拷过去
   /下建一个 work2 目录
   /work 下的 .conf 文件移过去
   
   yp.conf 指定行的内容(如第10行,第10-15行)
           操作完后把 /work /work2删除
  
       2、熟悉 vim 使用
    selinux 禁用掉
vim /etc/selinux/config
        SELINUX=disabled
 
   另把 /etc/yum.repos.d/rhel-source.repo 改成如下内容
 
[base]
name=Red Hat
baseurl=file:///rhel62
enabled=1
gpgcheck=0
 
   再自己练习一下 vim 中的移动、复制、查找、替换
 

以上是关于01Linux基础命令的主要内容,如果未能解决你的问题,请参考以下文章

01Linux基础命令

Linux高级命令03:文本搜索命令★ Python Web篇学习汇总:Part 01—Linux基础命令绝对路径和相对路径 / 创建删除复制移动文件及目录命令

Linux高级命令04:查找文件命令★ Python Web篇学习汇总:Part 01—Linux基础命令绝对路径和相对路径 / 创建删除复制移动文件及目录命令

linux[基础]-07-常用命令[01]

linux[基础]-10-命令行通配符[01]

Linux基础01