01、Linux基础命令

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 下

 

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/
 
 
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    监控文件的变化
 
 
看文件的指定行,例只看文件的第3行
head -n 3 | tail -n 1
 
查看文件指定范围的行,如 3-5 行
head -n 5 /etc/passwd | tail -n 3
 
 
vi/vim 使用
    vi/vim 是linux下使用非常广泛的文本编辑器
 
    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
 
posted @ 2019-08-10 12:31  Paco_Pig  阅读(172)  评论(0编辑  收藏  举报