《循序渐进Linux》第四章 Linux常用命令及其使用

命令是学习Linux必须掌握的一部分。Linux下命令大概600多个,常用命令80个左右。

待补充命令:软件安装相关、用户管理、权限管理

一、Linux下的shell简介

1、shell介绍:a
    shell分类:

    base -  bourne again shell
    csh - C shella
    ksh - Korn shell
    sh - bourne shell
    tcsh - Tenex  C shell

     内置命令和一般命令

     登录到系统的用户类型判断   "#"和“*”分别表示系统用户和普通用户

2、shell命令语法分析
(1) 命令格式
格式:command [option]  [arguments]
命令  
选项
参数

一个命令行多个命令   分号隔开;
     ls -al;cp 1.txt  2.txt

多行中输入一个命令, 用反斜杠 \  将一个命令持续到 下一行 ;
     cp -i  \
     1.txt \
     2.txt

(2)shell 通配符
     * :匹配任意一个或多个字符
            ls  *.txt
     ?:匹配任意单个字符
            ls  ab?.txt
     []  :匹配任何包括在方括号内的单字符
           ls  /dev/sda[123456]
            ls  /dev/sda[1-6]
     组合使用:
           ls  [xyz]*.txt

(3)shell重定向
       标准输入          <   或  <<
                                << ,告诉shell当前命令的标准输入为来自命令行中一对分割号之间的内容。
                               例:wc  < /etc/inittab
       标准输出          >   或  >> 
                               >>  不覆盖已存在文件,追加内容。
                               例:ls -ef  > ps.txt
                                       ls -al /etc/* >>/root/install.log
       标准错误输出   >   或  >>
                               例:tar zxvf text.tar.gz 2>error.txt

(4)shell的管道
        多个命令链接起来    | 
        一个命令的输入作为下个命令的输出
       例:la -al /etc/* | more
               ps -ef|grep httpd | wc -l       #查看系统中正在运行的 httpd进程,并计算httpd的进程数       

(5)shell中的引用
        反斜杠  \  
               放到特殊字符前面,shell将忽略特殊字符的含义,当作普通字符对待;
        单引号 ''
                字符串放到单引号之间,所有字符的特殊含义将被忽略;
        双引号 ""
                包含在双引号中的大部分特殊字符当作普通字符,仍有部分特殊字符保留自己的特殊含义。比如 "$" 、 “ \” 、"`" 。

(6)shell的自动补齐命令
          Tab
二、系统管理与维护命令:
2.1  ls   显示指定目录下的内容

      参数很多,重点列举几个
      -a  显示所有文件或子目录,包括隐藏类型
      -l   除文件名,同时显示文件或子目录权限、使用者和大小等详细信息
      -d  显示目录列表,不显示文件
2.2 pwd  显示当前工作目录
2.3 cd  改变当前目录

      cd [目录]  切换到指定目录
      cd 或 cd ~      返回当前用户的工作目录
      cd ~[用户名]  返回指定用户的工作目录
      cd.. 或 cd../    返回上级工作目录
      cd /      返回根目录
2.4 date  显示或修改系统时间和日期
      -s --set 设置系统时间
     -d --date 显示描述的日期
     时间显示格式较多,不一一列绝。

2.5 password 设置用户口令
      普通用户修改自己口令:  passwd  然后根据提示输入两次密码
      超级用户修改某个用户口令:  passwd  [用户名]  然后根据提示输入两次密码
2.6 su 改变身份的命令
       su [选项]  用户名
       示例:
       (1)普通用户要成为超级用户
       su -   #成为超级用户
       (2)普通用户A下修改超级用户root的口令
       su  -c passwd  #改变身份运行一个指令后就结束。
2.7 clear 清除屏幕
2.8 man  显示指定命令的帮助信息

     man ls
2.9who 显示当前登录到系统的用户
     who [选项] file 
    参数较多
    示例:
    who -r  #系统处于什么运行级别
    who -buT  #显示系统最近启动日期,以及当前每个用户的登录详情、终端状态。

2.10 w 显示登录到系统的用户信息
     w   [选项]  用户 
2.11 uname  显示操作系统相关信息
     uname [选项]
     -a  显示操作系统全部信息
    -m显示系统cpu类型,32位还是64位系统
    -n 主机名
    -s 操作系统类型
    -r  操作系统内核版本

2.12 uptime  输出系统任务队列信息
    输出当前系统时间、系统开机到现在的运行时间、目前有多少用户在线、系统在1min,5min,15min前到现在的平均负载等
2.13 last  列出目前与过去登入系统的用户相关信息
     last [选项]  [-n 显示列数]
     参数有4个
2.14 dmesg 显示开机信息
     dmesg [选项]
2.15 free 显示系统内存状态
     free [选项]  [-s (间隔秒数)]
2.16 ps 显示系统进程瞬间的运动动态
    ps [选项]
    -a   所有用户进程
    -x   所有系统程序,包括没有终端的
    -u  显示使用者的名称和起始时间
    -f   详细显示程序执行的路径群
    -c  只显示进程名称
    -e 除内核进程外所有进程信息写到标准输出

2.17 top  实时监控系统处理器状态

其它:
linux下帐户和密码保存文件(只能ROOT才可以):
帐户/etc/passwd
密码/etc/shadow

三、文件管理与编辑
1、创建目录

      mkdir  [选项]   目录
      -m  设置存取权限
      -p  连续创建嵌套目录
     示例:mkdir dir1/dir11/
2、逐屏显示内容的命令
      more  [选项]   文件名
      -d
      -s
      -p
      -c 
      按"Enter"键显示下一行;按空格键,显示下一屏
      示例:more -c -10 filename
 3、cat 
      将文件内容打印到标准输出,也可以连接合并文件内容
     -A 将文件中的Tab输出显示为“^I”,同时在每行的末尾显示一个$符号
     -b 将文件中的所有非空行按顺序编号,从1开始
     示例:
     cat f1.txt
     cat f1.txt f2.txt > f3.txt
4、diff
      比较文件的差异
     -c  显示全部内容,并标出不同之处
     -b
     -r
    -s
    示例:diff  c  f1.txt   f2.txt
5、grep  [选项]  查找的字符串   文件名
     过滤文本的命令
     -i  搜索时忽略大小写
     -n 在显示的搜索结果上显示行号
     -An 除了列出符号条件的行,还列出每个符合条件行的后n行
     -n  除了列出符号条件的行,还列出每个符合条件行的前n行
     示例:grep -ni findstr f1.txt
6、rm  [选项]   文件或目录名
     删除某个目录及其下的所有文件及子目录
    -r  递归删除全部目录、子目录及文件,无该参数不能删除目录
    -i  交互式删除
    -f  忽略不存在的问题,也不给出提示
    示例:rm -i  dir1
                rm -rf  dir2       #直接删除目录及下面的文件和子目录
7、touch
      改变指定文件的访问时间和修改时间,若指定文件不存在则创建文件,若没有指定时间则使用当前时间
     -a  改变文件的访问时间为当前时间
     -m  改变文件的修改时间为当前时间
     -c   如果文件不存在,不创建也不提示
     -d 或 -t
     -r <参考文件或目录>
8、ln 在文件或目录之间创建链接

     linux下的链接有两种,一种是硬链接(Hard Link),一种是符号链接(Symbolic Link),默认情况ln产生的是硬链接。
     ln  [选项]  源文件  目标链接名
     -f 如果在目标位置存在与链接名相同的文件,这个文件将被删除
     -s 创建软链接(Symbolic Link)
     -b 对将在链接时会被覆盖或者删除的文件进行备份
9、file 显示文件类型
      file [选项]   文件名
      长度为0的文件,被识别为空文件;对于符号链接文件缺省显示符号链接引用的真实文件路径    
10、cp  拷贝文件或目录的命令
     -a  拷贝时保留所有信息
     -r  递归复制该目录下所有子目录和文件
     -f  强行复制
 -d  拷贝时保留链接
    -p  保留文件的修改时间和存取权限
    -i   如果已存在目标文件的同名文件,提示用户是否覆盖
11、find
     指定的路径下查找指定的文件。
     参数比较复杂
12、split 分割文档的命令
       split [选项] [input_file] [output_file]
       -b size 指定分割出来的文件大小,size可加入单位,b代表512bytes ,k代表1KB,m代表1MB
       -n 指定分割每个文件的长度,默认1000行
       -d 生成的文件序列以数字形式命名
       -a 指定生成的文件序列的长度,默认为2
  
13、mv  文件、目录改名或变更存储位置
    mv [选项]  [源文件或目录]  [目标文件或目录]
    -i 交互式操作
    -f 禁止交互式操作
四、压缩与解压缩
1、压缩/解压缩文件或者目录的命令 zip /unzip
      将一般文件或目录进行压缩或解压缩,后缀.zip 。
      zip [选项]  压缩文件名  需要压缩的文档列表  #递归压缩 
 -r  递归压缩
- d 压缩文件内删除指定文件
- i 只压缩文件列表中文件
-x 排除指定文件
-u 更新文件到压缩文件中
- m 压缩同时删除原始文件
-T 尝试修复损坏的压缩文件

-T 检查每个文件是否正确
- 压缩级别 #1-9的数字,9为最高级别
...
      unzip [选项]  压缩文件名 
        -d 目录名  解压到指定目录
-t   测试有无损坏

-x  排除文件
-v  查看压缩信息
-n 不覆盖已存在文件
-o 直接覆盖已存在文件
...
2、压缩/解压缩文件的命令 gzip/gunzip
     将一般
文件进行压缩或解压缩,后缀.gz 。
     即使指定压缩目录,只能压缩目录内的文件。
3、压缩/解压缩文件的命令bzip2/ bunzip2
4、将文件或者目录打包归档的命令tar
      归档工具,并不压缩。
     tar [主选项+辅助选项] 文件或目录
    -z   压缩解压缩
    -c   #创建新文件
    -x   还原出文件
    -v   归档过程中显示各个文件名称
    -f  归档文件名 ,后面不能再加参数
5、转换或拷贝文件的命令dd
6、重定向方式打包备份、还原恢复文件的命令 cpio

压缩解压缩命令总结:

1、*.tar 用 tar –xvf 解压 
 2、*.gz 用 gzip -d或者gunzip 解压 
 3、*.tar.gz和*.tgz 用 tar –xzf 解压 
 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 
 5、*.tar.bz2用tar –xjf 解压 
 6、*.Z 用 uncompress 解压 
 7、*.tar.Z 用tar –xZf 解压 
 8、*.rar 用 unrar e解压 
 9、*.zip 用 unzip 解压


 五、磁盘管理与维护
1、检查磁盘空间占用情况

df [选项]
2、显示文件或目录所占用的磁盘空间
du   [选项]  文件或目录
3、检查文件系统或者尝试修复错误
fsck
4、强制把内存中的数据写回硬盘的命令
sync
5、退出抽取式设备的命令
eject
6、挂载卸载指定的文件系统的命令
mount/unmount
六、网络设置和维护
1、配置网络或显示当前网络接口状态的命令

ipconfig
2、将文件或目录拷贝到另一个linux系统
scp
3、显示本机网络链接、运行端口和路由表等信息
netstat
4、显示网络数据包传输到指定主机的路径信息的命令
traceroute
5、与远程的主机通讯或获取远程主机对应端口的信息
telnet
6、网络上下载软件的名利
wget [要下载软件的网址]

七、文本编辑工具vi
vi是linux下标准的文本编辑程序,它有两种工作模式,即命令模式和文本输入模式。
通过vi命令可以转换到文本输入模式,在编辑模式中按"Esc"键则切换到命令模式。
vi详细介绍:linux下vi命令大全

1、命令行下用vi打开文件的命令选项
   vi  filename  打开或新建一个文件,光标置于首行行首
   vi -r filename 恢复上次打开时崩溃的文件
   vi -R  filename 只读方式打开文件
   vi +  filename   打开文件并把光标置于最后一行首
   vi +n  filename   打开文件并把光标置于第n行首
   vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的位置
   vi -c command filename 对文件进行编辑前,先执行指定的命令
2、vi命令模式下的命令选项
移动光标类(未列全

    nG 移动到第n行行首
    n+ 下移n行
    n-  上移n行
    n$  再向后移动n行行首(同n-区别不理解
    H  移至屏幕顶部
    M  移至屏幕中部
    L   移至屏幕底部
    0  当前行首
    $  当前行尾
    :$ 文件最后一行行首
屏幕翻滚类命令
    Ctri + u  相对于当前屏幕,向文件首翻半屏
    Ctri +d  相对于当前屏幕,向文件尾翻半屏
    Ctri + b  相对于当前屏幕,向文件首翻一屏
    Ctri + f  相对于当前屏幕,向文件尾翻一屏
     nz + Enter  将文件的第n行滚至屏幕顶部,如果不指定n值,将当前行滚至屏幕顶部
插入删除文本类
     ESC 返回命令行模式
    i  在光标前输入文字
    a 在光标后输入文字
    o 在当前行之下新开一行
    O 在当前行之上新开一行
    r  替换光标所在字符,输入r命令后,键盘输入新字符即可
    x  删除光标所在字符
    dd  删除光标所在行
    yy  复制光标所在行
    p    剪切板内容复制到光标后
    P   剪切板内容复制到光标前
    yw  将光标所在单词复制到剪贴板
搜索替换类
    /abd  向前查找abc
    ?abc  向后查找abc
    n 在同一方向重复上次的搜索命令
    N  在反方向重复上次的搜索命令
    :s/a1/a2/g   当前光标所在行a1替换成a2
    :n1,n2s/a1/a2/g  文件第n1至n2行的a1替换成a2
    :g/a1/a2/g    文件中所有a1替换成a2
    :set nu  给文件每行加上行号

保存退出类
    :wq  保存退出    
     :w   保存
     :q    退出
     x!    保存退出

--------------------------------------------------------------

其它系统命令及快捷键:

1、控制台切换

      Ctrl+Alt+(F1-F6)  图形界面切换到命令行

      startx 或者 Ctrl+Alt+ F7 进入 图形界面

2、硬件资源管理

      lspci
      more /proc/cupinfo
      more /proc/meminfo
      fdisk -l

3、linux外在设备的使用
     挂载:
      mount -t msdos /dev/fd0 /mnt/floppy
      mount -t  vfat  /dev/sda1  /mnt/usb
      mount -t  iso9660   /dev/hda  /mnt/cdrom 或者 mount -t   /dev/cdrom   /mnt/cdrom

      卸载:
      umount  /mnt/floppy
      umount  /mnt/cdrom

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值