690 likes | 870 Views
Linux 基础知识. 一、常用基本命令. Bash Shell 常用控制符. ENTER/Ctrl m : 当前行结束 Ctrl d :终端的输入结束 Ctrl g :控制终端响铃 Ctrl h :退格键,用于改正输入的错误 DELETE/BREAK/Ctrl c :强行终止程序. Linux 常用命令. Linux 的命令(也包括文件名等等): 对大小写是敏感的 xxx --help :显示 xxx 的帮助 xxx --version :显示 xxx 的版本号
E N D
Linux基础知识 一、常用基本命令
Bash Shell常用控制符 • ENTER/Ctrl m:当前行结束 • Ctrl d:终端的输入结束 • Ctrl g:控制终端响铃 • Ctrl h:退格键,用于改正输入的错误 • DELETE/BREAK/Ctrl c:强行终止程序
Linux常用命令 • Linux的命令(也包括文件名等等): 对大小写是敏感的 • xxx --help:显示xxx的帮助 • xxx --version:显示xxx的版本号 • man:manual,实际上就是察看指令用法的help;它的说明比”--help”要详细得多 • 命令补齐:指当键入的字符足以确定目录中一个唯一的文件时,只须按 Tab 键就可以自动补齐该文件名的剩下部分
ls (list) • 功能:列出目录内容(与dir类似) • 十分类似DOS的dir指令,但功能更为强大。 • 单独执行ls指令,会显示目前目录之内容。 • 常用参数: • -1:每列仅显示一个文件或目录名称 • -a或-all:显示所有文件和目录,包括以.开头的隐藏文件 • -A :同 -a ,但不列出 "." 及 ".." • -c:按列输出,纵向排序;-x:按列输出,横向排序 • -F:在列出的文件名称后加一个符号标记(可执行文件“*”,目录“/”) • -l:使用详细格式列表,包括权限标示,硬连接数目、拥有者和群组名称、文件或目录大小以及更改时间 • -h:以容易理解的方式打印文件大小(k M G) • -L:如遇到性质为符号连接的文件或目录,直接列出该连接所指向之原始文件或目录 • -r:反向排序 • -R:递归显示下层子目录 • 排序:-S(大小)、-t(创建时间)、-u(最后存取时间)、-X(扩展名)
cd (change directory) • 功能:切换目录 • 切换目录的前提是,用户必须拥有足够权限进入目的目录 • 当目录中含有空格时,要用” ”将整个目录标示起来: • $ cd “/mnt/harddisk/Program Files” • 常用参数: • cd ~:回到工作目录 = cd • .:当前目录 • ..:上级目录 • -:返回切换目录后的前一个目录
cp (copy) • 功能:复制文件或目录 • 同时指定多个文件或目录时,若最后一个是一个存在的目录,则将前面所有文件或目录复制到该目录中;否则,则会出现错误信息 • 常用参数: • -a:尽可能将文件的状态、权限等信息全部复制 • -b:删除、覆盖目标文件之前先备份(~) • -d:当复制符号连接时,将在目标目录建立符号连接;否则会直接复制该连接指向的文件或目录 • -f:强行复制,不论目标文件或目录是否存在 • -i:覆盖现有文件之前先询问用户 • -l:对源文件建立硬连接,而非复制文件 • -p:保留源文件或目录的属性,包括拥有者、群组、权限等 • -r:连同子目录一同拷贝,把所有非目录文件当普通文件拷贝 • -R:连同子目录一同拷贝 • -s:对源文件建立符号连接,而非复制文件 • -u:仅在源文件的更改时间较目标文件新,或者名称对应的目标文件不存在时,才复制文件 • -x:复制的文件或目录存放之文件系统,必须与cp执行时所处文件系统相同,否则不予复制
mv (move) • 功能:移动或更名现有的文件或目录 • 常用参数: • -b:覆盖文件前先行备份(-backup) • -f:若目标与现有重复,则直接覆盖现有的文 件或目录(-force) • -i:覆盖前先行询问用户(-interactive) • -u:若目标文件已存在,且其文件日期不比源 文件旧,则不覆盖目标文件(-update)
rm (remove) • 功能:删除文件或目录 • 欲删除目录,必须加上参数”-r”,否则预设仅会删除文件 • 常用参数: • -d:直接把欲删除目录的硬连接数目删成0,然后删除目录;它将造成目录下文件失去连接,导致必须执行fsck指令检查磁盘 • -f:强制删除文件或目录,本参数将忽略放在它前面 的”-i”参数 • -i:删除既有文件或目录之前先询问用户,本参数将忽 略放在它前面的”-f”参数 • -r:连同这个目录下面的子目录都删除
mkdir (make directories) • 功能:建立目录 • 建立目录的同时可以设置目录权限 • 常用参数: • -m:设置目录权限,权限设置法见“Linux下权限表示法” • -p:若所要建立目录的上层目录目前尚未建 立,则会一并建立上层目录
rmdir (remove directory) • 功能:删除目录 • 只能删除空目录,若目录非空,则会出现错误信息 • 常用参数: • -p:删除指定目录之后,若其上层目录已空, 则将其一并删除 • --ignore-fail-on-non-empty:忽略非空目录的 错误信息
压缩及解压缩命令 • tar [参数(常用-xzvf)] [归档文件名] [原文件或目录] • 功能:广泛用于建立归档文档,这个命令将文件及目录复制到归档文件中,原文件并不会有被删除的危险。同时还可通过参数调用相应的压缩工具进行压缩及解压缩 • 常用参数: • -c:创建文档,而不运行浏览现有文档或取出文档中的文件 • -f:表示存档到文件而非磁盘,一般必选 • -v:显示每个复制文件的名称 • -x:解压缩 • -z:使用gzip或ungzip • -j :使用bzip • unzip:用于解扩展名为“.zip”的压缩文件。
gzip • 功能:在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用,压缩生成文件扩展名为.gz • 常用参数: • -c:将输出写到标准输出上,并保留原有文件 • -d:解压缩 • -I:对每个压缩文件,显示压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字等详细信息 • -r:递归处理 • -t:测试,检查压缩文件是否完整
网络常用命令(1) • ifconfig功能:显示或配置网络设备 • 常需设置的有: • IP地址、子网掩码、网络接口、硬件本身的IRQ及I/O等 • 常用参数: • [设备] [IP]:设置目前网络设备的IP地址 • down:关闭指定的网络设备 • up:启动指定的设备 • netmask:设置网络设备的子网掩码 • [设备]:指定网络设备的名称。如第一网卡为eth0
网络常用命令(2) • talk:与在线某个使用者对话 • $ talk user [tty-name] • $ talk userid@hostname • write:发信息给某个人 • $ write user [tty] • $ msg [y/n] • wall:对在线使用者广播 • $ wall [messages]
Linux基础知识 二、文件操作命令
cat (concatenate)(1) • 功能:结合多个文件,并将它们的内容输出到标准输出设备,类似于DOS下面的type命令 • $ cat file1 file2 依顺序显示file1,file2的内容 • 常用参数: • -b:列出文件内容时,在所有非空白行之开头标上编号 • -E:在每一行的最后标上“$”符号 • -n:在每一行的开头标上编号 • -s:当内容某部分之空白列超过一行以上时,该处仅以一空白行表示 • -T:将跳格字符(Tab)以”^I”表示 • -v:除了增列字符(LFD)及跳格字符之外,其他控制字符皆以”^”表示,高位字符(ASCII>127)则用”M-”表示 • -A = -vET,-e = -vE,-t =-vT
cat(2) • 若不指定任何文件名称,或是所给文件名为“-”,则cat指令会从标准输入设备(如键盘)读取数据,然后将所得数据输出至输出设备 • $ cat • Linux is interesting!! 键入后按“ENTER” • Linux is interesting!! 系统回应
cat(3) • 可以运用shell的重定向字符“>”和“>>”,将多个文件的内容合并成一个文件 • e.g. 将file1和file2合并成一个文件file3: • $ cat file1 file2 > file3 • 若file3已经存在,则其内容会被覆盖。欲避免之,可用”>>”,新的内容会附在原有内容之后,而不会覆盖它 • “>>” 比“>”更加常用
用cat编辑文本文件 • cat > file1 • 结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按Ctrl+c或Ctrl+d,就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容
Linux下的文件详细信息 -rw-r--r-- 1 root root 15228 2003-01-25 a2ps.cfg -rw-r--r-- 1 root root 2562 2003-01-25 a2ps-site.cfg -rw-r--r-- 1 root root 47 12月 26 23:39 adjtime drwxr-xr-x 2 root root 4096 2005-05-16 aep -rw-r--r-- 1 root root 688 2003-02-04 aep.conf 文件权限 文件上次被修改的时间和日期 文件类型 文件属主名 文件长度 用户分组名 链接个数 文件名
Linux文件权限表示法 • 十位表示符意义如下: • 第一位表示文件类型: • -:常规文件;d:目录;b:块特殊设备 • c:字符特殊设备;p:有名管道 • s:信号灯;m:共享存储器 • 后九位表示文件权限: • 权限由三个字符串组成,这三个字符串分别表示:该文件所有者的权限、组中其他人的权限和系统中其人的权限 • 每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)、写(用字符W表示)和执行权限(用字符x表示)。当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。
查找文件命令 • find [路径] [参数] [查找相关内容] • 功能:对某个特定文件、某些特定文件和某种类型的文件进行检索,可以根据名字、类型、文件属主以及上次修改时间来检索 • 常用参数: • -name:检索文件名中包含查找内容字符串的文件 • -type: 检索相应类型的文件(d、c 、l等) • -user:检索创建用户为查找内容的文件 • whereis 文件名 • locate 文件名
查看文件 • more/less命令:显示长文本文件的指令 • more指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示 • less除了有more的功能以外,还可以用方向键往上或往下的滚动文件 • 阅读文章时,less是个非常好的选择 • clear命令:用来清除屏幕的 • pwd命令:显示用户当前的工作路径 • tail – 显示文件最后几行 • tail –f /var/log/exp 预设 10 行 • tail –30 /var/log/exp • head – 显示文件开始几行 • head –10 /var/log/exp
在文件中查找 • grep:在文件中查找符合条件的字符串 • 若不指定文件,或文件名为”-”,则会从标准输入设备读取数据 • 常用参数: • -i:忽略字符大小写之差别 • -I:列出内容符合所给范本的文件名 • -L:列出内容不符合所给范本的文件名 • -r:连同子目录中的文件一起进行查找 • -v:反转查找,即查找所有不含所给范本的行的内容 • -w:只显示全字符合的行 • -x:只显示全行符合的行
文件内容统计 • wc(word count):统计指定文件中的字节数、字数、行数,并将统计结果显示输出。 • 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 • 常用参数: • -c:统计字符数。 • -l:统计行数。 • -w:统计字数。
文件权限控制命令 • chmod:改变文件权限 • 文件权限设定的方法: • 使用字符串设置权限 • 使用八进制数设置权限 • 另外,文件和目录的权限还可用八进制数字模式来表示。三个八进制数字分别代表user、group、others的权限。执行、读和写所对应的数值分别是1,2和4。 • 若要rwx属性则4+2+1=7; • 若要rw-属性则4+2=6; • 若要r-x属性则4+1=5。 • chown:改变文件的拥有者或群组 • -R:递归处理
链接文件命令 • ln:链接文件或目录。 • 这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。 • 用法: • ln [选项] 目标 [链接名] • ln [选项] 目标 目录 • 默认情况下,ln产生硬链接 • 如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件
链接简介 • 符号链接 (软链接) Symbolic Link • 在文件内存储连接路径 • ln -s 源文件 目标文件 • 硬链接 HardLink • 相当于文件的别名 • ln 源文件 目标文件 • 不能建立指向目录的硬链接 • 链接文件和被链接文件必须位于同一文件系统中 • 查看文件/目录的inode • ls -i
Linux基础知识 三、系统管理命令
基本管理命令(1) • login/logout • 用户登入、退出系统命令 • dmesg • 察看开机的讯息 (按 shift+PageUp、shift+PageDown 翻页) • su • 切换成为 root 系统管理员 • 一般使用者切换成为其它身份使用者需要输入该欲切换使用者密码。若是执行者为 root 系统管理员的话,则不需要输入密码即可切换。 • passwd • 变更使用者密码 • passwd [userid] : 设定 userid 该账号密码。
基本管理命令(2) • shutdown • 进行关机或者是进入单人维护模式 • $ shutdown 直接进入单人维护模式 • $ shutdown –h now (关机后停止系统)=halt • $ shutdown –r now (关机后重新开机) • $ shutdown –h +10 “System will reboot after ten min” • who:查询目前有哪些人登入系统主机内 • whoami:查询自己登入的账号名称 • chsh:设定或者是修改使用者所使用的 shell • chfn:设定或是修改使用者数据 • chown:改变文件目录拥有者 • chgrp:改变文件目录群组 • chmod:改变文件权限
了解所用系统的信息 • mount 所挂装分区 • fdisk -l /dev/hda 硬盘分区状况 • df -h 硬盘分区的使用情况 • du -sh 目录占用空间 • uname -a 所用Linux的版本号 • echo $SYMBOL 显示变量SYMBOL的内容 • $ echo $PATH
文件系统的挂载 • mount功能:挂入文件系统 • mount可将指定设备中的文件系统挂载到Linux的目录下 • 在/etc/fstab中,设置了一些经常使用的设备,以方便挂入。 • 与其对应的是umount指令 • 常用参数: • mount 直接回车是显示当前所mount 的状态 • -a:挂载/etc/fstab中设置的所有设备 • -n:挂载时不将信息记录于/etc/mtab中 • -o:指定挂载文件系统时的选项,详见man • -r:以只读方式挂载 • -t <文件系统类型>:指定设备的文件系统类型,常用类型见man
mount的机制 • 在一些操作系统(如Windows)中,计算机通过设备名来识别设备 • 而Linux采用单一的目录树,通过mount到目录树的分支上来查找存储设备(实际上就是文件)的内容 • mount配合服务能完成许多看起来Mission impossible的事情。所有的设备在Linuxer眼里都是文件。读盘(无论什么盘)=读文件,甚至可以从内核级支持虚拟光盘镜像 • mount在挂载文件系统时会记录信息于/etc/mtab中。
一些常用设备的mount • mount fat32分区: • mount -o codepage=936, iocharset=cp936 /dev/hda7 /mnt/cdrom • mount iso文件: • mount -o loop /ex.iso /mnt/cdrom • mount软盘: • mount /dev/fd0 /mnt/floppy • mount光盘: • mount -t iso9660 /dev/cdrom /mnt/cdrom • mount USB闪存: • mount /dev/sda1 /mnt/cdrom • mount Samba: • mount -t smbfs -o codepage=cp936 //192.168.0.123/smbshare /home/usr/smb
umount • 功能:卸载文件系统 • 常用参数: • -a:卸载/etc/mtab中记录的所有文件系统 • -n:卸载时不将信息存入/etc/mtab中 • -r:若无法成功卸载,则尝试以只读的方式重新挂入文件系统 • -t:仅卸载选项中所指定的文件系统 • 除了直接指定文件系统外,也可以用设备名称或挂载点来表示目标文件系统
Linux基础知识 四、系统配置文件
目录/etc • 这个目录是Linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。 • passwd、fstab、hosts、lilo.conf、profile、services、shadow、shells
passwd • 是用户配置文件,即用户数据库,所含的域有: • 用户名、实际名称、该用户主目录、密码(如果未被 shadow 程序加密过 )以及有关各个用户的其它一些信息。 • 有关更详细的信息,请看”/man{passwd} manual page”
fstab • 列出了在系统启动时由”mount –a”命令自动加载的文件系统(在/etc/rc或者同等的启动文件中)。 • 同时也包含由”swapon –a”自动使用的的交换区的信息。 • 有关更详细的信息,请看mount的manual page。
hosts • 定义了主机名和ip地址的对应,其中也有将要运行DNS的电脑的ip地址和主机名 • 即本地网络中已知主机的全部列表 • 内容格式: • 127.0.0.1 localhost.localdomain localhost
lilo.conf • 包含系统的缺省引导命令行参数,还有启动时使用的不同映象。 • 在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。
/etc/profile • Bourne Shell在登录或启动时所执行的文件。系统管理员可以使用它为所有用户设置全局设置值。 • 其中典型的处理内容是:PATH,USER等重要的环境变数的设定,程序异常终了时croe文件的大小的限制,新建文件的读写属性等。
services • 将网络服务名转换为端口号/协议。 • 由 inetd、telnet、tcpdump 和一些其它程序读取。 • 有一些C访问例程。
shadow • 安装了影子(shadow)口令软件的系统中的影子口令文件,包含加密后的用户帐号密码信息,还可以包括密码时效信息 。 • 影子口令将加密的口令从/etc/passwd中移入/etc/shadow中。 • 影子口令控制: • pwconv:启用影子口令 • pwunconv:恢复原状态 • shadow只有root用户才能读取,这使得破解口令变的极其困难。
shells • 列出可信赖的shell。 • chsh命令允许用户改变他们的登录shell为shells中所列出的shell之一。 • 提供FTP服务的服务器进程ftpd将检查用户的shell是否在/etc/shells中被列出,否则系统将阻止该用户的登录。
Linux基础知识 五、/proc文件系统
/proc文件系统 • 文件夹/proc下为系统的相关信息 • 是一个假的文件系统。它不存在于磁盘某个磁盘上。而是由核心在内存中产生 • 是作为独立但虚拟的文件系统提供的一个接口: • 用来显示一些它的数据结构.这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。 • 很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。 • 可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的;除非你把它拷贝到什么地方,/proc目录下没有任何东西占用任何磁盘空间
重要文件(1) • /proc/x:进程号为x的进程信息目录 • 每个进程在/proc下均拥有一个名为其进程号的目录 • /proc/cpuinfo:处理器信息,如类型、制造商、型号和性能 • /proc/devices:当前运行的核心配置的设备驱动的列表 • /proc/dma:当前使用的DMA通道 • /proc/filesystems:核心配置的文件系统,即查看当前Linux所支持的所有文件系统
重要文件(2) • /proc/interrupts:显示使用的中断 • /proc/ioports:当前使用的I/O端口 • /proc/kcore:系统物理内存映象,与物理内存大小完全一样,但不实际占用这么多的内存 • /proc/kmsg:核心输出的消息(同时还会被送到syslog) • /proc/ksyms:核心符号表