(1)关于shell,linux中的shell可这样认为——是linux内核的一个外层保护工具,并负责完成用户与内核之间的交互;
明确几个概念:命令、shell和shell脚本
Shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,从而实现用户与内核之间的交互,同时shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成shell脚本文件,交给shell批量执行。
(2)shell分类:bourne shell、c shell、korn shell、bourne again shell
(3)shell命令格式:$为提示符 command [-options] argu1 argu2
理解为:命令 选项 参数1 参数2 ;三要素之间有空格分开;
分号(;)用于一行多个命令分隔;
反斜杠(\)表明一条命令需要多行才能写完时,除最后行每行行尾需要用该符号连接。
(4)特色功能:
a)tab键用于补齐命令与文件名;命令补齐按两下,文件名补齐按一下。
b)history命令可查询历史使用过的命令;默认最多查询500条命令,任意500数量以下用history (500以下整数值);可用echo $history查看默认值,执行这条命令后紧接执行history=‘数量’ 以修改默认值。
c)alias命令可进行用户自定义命令名,用法:
alias 自定义命令名=’ls -l’按下回车后,就可用自定义命令名代替ls -l
取消自定义方法 unalias 自定义命令名
(5)特殊字符
a)*代表任意长度的字符串;
b)?任意一个字符;
c)[…]方括号中指写的字符;
d)[ - ]方括号中指定的字符范围,如[a-z];
e)[^…]除了其中指定字符以外的任意字符;
f)管道 | 把一系列命令连接起来,将第一个命令的输出作为第二个命令的输入,再将第二个命令的输出作为第三个命令的输入,以此类推;例:ls /usr/bin | wc –w —— ls /usr/bin显示bin目录下文件,wc –w根据ls命令输出统计文件的单词数;
g)重定向输出> file;
h)重定向输入<file;
i)重定向输出,追加模式>>file;
j)将命令产生的错误信息输出2>或&>;
gcc test1.c 2> errorlog或 gcc test1.c &> errorlog将test1.c编译产生的错误信息写入errorlog文件内,写成2>>或&>>可追加信息。
k)反撇号` ` 如cmd1 `cmd2`,将cmd2命令输出引用为cmd1命令的参数
(6)基本命令
ls列出文件名
cat 显示文文件
less/more分屏显示文件
less使用左右箭头键上下翻页,more使用回车键只能向下翻页
rm删除文件
复制文件cp
移动文件mv(重命名文件)
创建目录mkdir
删除目录rmdir(只能删除空的目录,非空目录使用rm –rf命令)
转换目录cd
查找字符串grep
显示文件开头head
显示文件结尾tail
按次序显示文件sort(文件内容排序,不改变源文件)
去掉文件中相邻重复的行uniq
比较两个文件diff
查看文件类型file
显示文件信息echo
显示时间和日期date(还可设置时间日期 date –s 时间或日期)
压缩文件gzip(-r文件夹下所有文件 –d解压 后缀为.gz)
解压缩文件gunzip
压缩文件bzip2(–d解压 后缀为.bz2)
归档和展开文件tar
1)压缩tar –zcf tc.tar.gz ./*.c——当前目录下所有.c文件压缩到tc.tar.gz包;
2)解压缩tar –zxf tc.tar.gz——解压tc.tar.gz文件
(例中zcf/zxf可替换成jcf/jxf,但建议gz改为bz方便其他用户识别)
查找命令whereis
查找实用程序which
查看磁盘空间的使用情况df:df dev(选项 –a所有文件系统 –h单位为M字节)
列出目录和文件所使用的磁盘块数du:(每块占512字节) du –k 列出磁盘使用情况(KB)、du –a列出空闲的文件数、du –s列出总空闲空间
修改文件或目录的权限chmod chmod 777 file
修改文件或目录的属主chown
修改文件或目录所属的组chgrp
显示当前工作目录的绝对路径pwd
清屏clear(清除当前终端上显示的信息)
创建文件的链接文件ln(一般使用-s选项创建软链接)
Ls –s targetfile link_name 可理解windows快捷方式
列出系统上的用户清单who
获取联机帮助info
获取联机帮助man
将内存中的数据写回硬盘sync
修改密码passwd:passwd username
改变用户身份su:su username
关机/重启shutdown:shutdown –r重启 shutdown –h 关机(可定时)
临时挂载分区mount:mount /dev/sda1 /mnt/udisk
卸载文件系统umount:umount /dev/sda1或umountall
(7)用户管理命令 ::root用户下
a)添加用户命令:adduser newusername;
adduser配置文件/etc/adduser.conf;
SKEL模板,/usr/sbin/useradd目录下.bash_profile、.bashrc、
.bash_logout、dircolors、.inputrc、.vimrc常用文件
b)usermod命令修改用户属性
c)deluser命令删除用户
e)delgroup命令删除用户组
(8)进程管理命令
改变程序执行的优先级Nice nice –n 1 ls (范围-20至19)
改变优先级以通知系统给某个进程更多或更少的CPU时间Renice
Renice 10 PID
显示进程状态PS(-ef、-axl)
监视进程top
进程以树状图显示pstree
终止进程 kill ( kill [-signal] PID)