230 likes | 582 Views
Linux Bash 常用命令. Linux Command Guide. 主讲人:黄新宇 bluedrum@163.com. 常见三种 Linux Shell. Bash(Bourne Again Shell) Linux 标准 , 最常用 Arm-Linux/Busybox 采用此风格 C Shell Sh (Bourne Shell). Shell 的快捷方式. 用上下方向键调阅命令历史记录 用 Tab 键输入命令行自动对齐 #tar zxvf b<tab>usy-pre-1.00.tar.gz 使用 Copy/Paste 命令
E N D
Linux Bash常用命令 Linux Command Guide 主讲人:黄新宇 bluedrum@163.com
常见三种Linux Shell • Bash(Bourne Again Shell) • Linux 标准,最常用 • Arm-Linux/Busybox 采用此风格 • C Shell • Sh (Bourne Shell)
Shell 的快捷方式 • 用上下方向键调阅命令历史记录 • 用Tab键输入命令行自动对齐 • #tar zxvf b<tab>usy-pre-1.00.tar.gz • 使用Copy/Paste命令 • Ctrl-C /Ctrl-D 通常可以强制退出当前程序,并返回到Shell提示符 • 使用Shell 脚本进行批处理
Ln 生成链接文件 • 链接文件分为两大类, 分为硬链接和软链接,软链又叫符号链.符号链接类似Windows的快捷方式.但应用远比快捷方式广泛. • 硬链接和原文件名都指向相同的物理位址 ,所以对硬链接的任何操作等于对原文件的操作,.硬链接受限较多,不能跨分区,不能指向目录等 • 软链接受限较少,因此应用广泛. • ls -l 可以查看链接文件所指向文件.
Ln 用法 • 命令格式语法:ln [选项] 目标 [链接名] • 生成一个硬链接 • ln /home/hxy/1.txt /home/hxy/ls.ln • 生成一个软链接 • ln –s /usr/bin /1.txt /home/hxy/soft.ln • 链接的路径可是相对路径,比如源码头文件,也可以是绝对路径
File 查看文件类型 • 查看文件类型,文本文件,可执行文件… • 最重要是可以查可执行程序是哪一种CPU体系下编译,是静态编译还是动态编译.这对嵌入式编译非常重要 • 格式 file 目标文件
Grep 查找文件内容命令 • 查找某个目录下包含关键字的文件 • grep magic /usr/src/linux/Documentation/* • -r 表示不仅在当前目录查询,而且还查询子目录 • Grep 的一个重要作用是通过管道用于过滤命令输出的结果 • ps –a | grep “minitty” • Grep 采用正则表达式的匹配机制 • $ ls -l | grep ‘^a’通过管道过滤ls -l输出的内容,只显示以a开头的行。 • $ grep ‘[a-z]\{5\}’ aa 显示aa文件所有包含每个字符串至少有5个连续小写字符的字符串的行。
Grep • 特殊用法 • grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, grep -l pattern files :只列出匹配的文件名, grep -L pattern files :列出不匹配的文件名, grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), grep -C number pattern files :匹配的上下文分别显示[number]行, grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行
Tar (1) 打包/压缩命令 • Linux 下打包,压缩是两个概念 • 打包是把所有文件照原样合在一个tar 文件里,压缩则需要另外程序gzip,biz2,但tar可以调用它们,一次性完成打包和压缩功能 • .tar.gz 由tar 程序打包,并且经过gzip 程序压缩 • .tar.bz2 由tar程序打包,并且经过bzip2程序压缩 • 大部分源码都是以 tar.gz/tgz 或tar.bz 形式发布 • arm-linux-gcc-2.95.3.tgz • 在图形界面中也可完成压缩和解压功能
Tar (2) 常用选项 • -c 创建tar 文件(即:对文件进行打包) • -r 代替一个tar文件里内容 • -f 将文件打包生成到一个文件里,因为tar在早期也可以直接生成到磁带里,这里必须注明 • tar –cf new.tar /home/hxy • -v 详细显示处理过程 • -x 对tar 进行解包 • tar –xf new.tar • -z 用 gzip 对存档压缩或解压 • -j 调用bzip2 来解压缩 • -t 显示tar文件里的文件名
Tar(3) 最常的用法 • 打包 • tar cvzf soft.tar.gz /home/hxy 将/home/hxy目录下文件打包并压缩 • 解包 • tar xvzf abc.tar.gz 解包到当前目录下 • tar xvzf abc.tar.gz -C /home 解包到指定目录下
模块控制命令 • Linux 采用模块化设计,驱动,文件系统模块可以动态加载 • insmod 安装模块到内核 • insmod rtl8139.o #装载驱动程序rtl8139.o • insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #装载驱动程序并设置相关的irq,dma参数 • Rmmod • rmmod rtl8139 #删除名为rtl8139的驱动模块 • lsmod 查看内核中安装模块
Uname 查看系统信息命令 • uname • uname • uname –r 显示内核版本 • uname –a 显示所有系统信息 • uname –m 显示机器型号 • uname –i 硬件架构 • uname –p 显示CPU 类型
Mount 加载文件系统 • 任何包含文件系统的介质,如硬盘,U盘,光盘等,如果需要被Linux 读取,都需要用Mount 功能加载.不过象硬盘都是自动加裁的.但一些移动介质,需要Mount 手动加载 • Mount –查看所有加载文件系统 • Mount 选项 • -a 加载文件/etc/fstab中设置的所有设备。-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。-h 显示在线帮助信息 • -r 以只读方式加载设备 • -v 执行时显示详细的信息
Mount 加载文件系统(2) • Mount –t <文件系统类型> 指定设备的文件系统类型 • minix Linux最早使用的文件系统。 • ext2 Linux目前的常用文件系统。 • msdos MS-DOS 的 FAT。 • vfat Win85/98 的 VFAT。 • nfs 网络文件系统。 • iso9660 CD-ROM光盘的标准文件系统。 • ntfs Windows NT的文件系统。 • hpfs OS/2文件系统。Windows NT 3.51之 前版本的文件系统。 • auto 自动检测文件系统。
Mount 加载文件系统(3) • 加载ISO文件 • mount -o loop /abc.iso /mnt • 加载U盘 • mount /dev/sda1 /mnt • 加载某个远程windows 机器上的共享目录 • mount -t smbfs -o username=guest,password=guest //machine/path /mnt/ • Umount,是Mount 反向操作,注意如果当前目录正在/mnt目录上,可能会Umount 失败,需要移到其它目录上
Ifconfig 网络管理命令 • ifconfig 查看所有网络接口信息 • ifconfig eth0 查看指定网络接口信息 • eth0~7是Linux 用于表示网络接口的名字 • 设置网卡IP地址 • ifconfig eth0 192.168.1.102 netmask 255.255.255.0 • 修改网卡的Mac 地址 • ifconfigeth0hwetherxx:xx:xx:xx:xx:xx • 激活和关闭一个网卡 • ifconfig eth0 up (有时也可用ifup eth0) • ifconfig eth0 down (有时也可用ifdown eth0)
Shell I/O 重定向 • 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关 • 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进 • 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案 • 0 是 < 的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的 • 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin
Shell I/O 重定向(2) • cmd > file 把 stdout 重定向到 file 文件中 cmd >> file 把 stdout 重定向到 file 文件中(追加) cmd 1> fiel 把 stdout 重定向到 file 文件中 cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中 cmd 2> file 把 stderr 重定向到 file 文件中 cmd 2>> file 把 stderr 重定向到 file 文件中(追加) cmd >> file 2>&1 把 stderr 和 stderr 一起重定向 到 file 文件中 (追加) cmd < file cmd命令以 file 文件作为 stdin cmd < file >file2 cmd命令以 file 文件作为stdin,以 file2 文件 作为 stdout cat <>file 以读写的方式打开 file cmd << delimiter Here document 从 stdin 中读入,直至遇到 delimiter 分界符
vi的使用 • vi 是为Linux 系统字符模式中一种编辑器, 特点是通用,在图形界面,超级终端,SSH客户端均可使用 • 功能强大,但操作有些繁锁. • vi 分三种工作模式:指令模式,文本模式,末行模式.不用模式下输入相同字母有不同效果,这是用惯了GUI下编辑的人经常搞错原因 • vi 一进入是指令模式,是不能输入字符的,需要按i进入输入模式 • 结束输入模式按<ESC>,进入指令模式 • 在指令模式下按:(shift+;)进入末行模式,可以进行编辑辅助功能
谢谢,请提问 在疯狂的时代把握未来