linux 基础Shell命令
++base基础
- 支持自动补齐命令行
> 使用tab键
- 可定制提示符
> 利用环境变量PS1和PS2定制
#代表当前用户为管理员
$代表普通用户
- 历史记录 history
- 允许输入输出双重定向
> 使用输出重定向时使,要在命令和文件之间添加">"、">>"符号将结果输入到指定的文件对象中,">"若文件存在则覆盖文件,用">>"则追加到文件的尾部
例如 ls > /ect/list
使用输入对象则使用"<"
- 使用多管道连接多个命令
- 管道功能将多个命令连接,把前面的命令作为后面的命令输入。管道时必须命令件输入"|"
- 逻辑顺序执行命令
> 连接符号 例子 说明
&& a&&b 当a执行成功后才执行b
|| a||b 当a执行失败后才执行b
; a;b 按照从左向右的顺序执行a、b
- 命令替换
> 命令替换润许捕获任何命令的输出,作为另一个命令的参数,使用替换命令单引号 ''括起命令先执行
例如 cat 'ls /ect/grub. conf'
\先执行ls命令,结果作为cat的参数
- 命令别名
允许用户制定命令
例如 alias psa="ps -aux|more" //将后方命令制定为psa命令
- 使用通配符
常用*和?
++内置命令 和 外置命令##
/ 代表 最高路径
. 代表当前目录
. . 父目录
++基本操作命令
- pwd 显示当前工作目录
- cd 切换目录
- mkdir 建立目录
-p 可以是一个路径和目录,目录不存在建立多个目录
- rmdir 删除目录
-p 递归删除目录,当删除的目录的父目录为空时也删除
- ls 列出当前目录下的内容
-a 显示所有文件,包括隐藏
-l 长格式显示文件详细信息
-R 地推是显示所有文件和目录及其子目录中的文件结构
-t 按照时间排序显示
-d 只显示目录名而不显示目录中的文件,一般和l连用
-1 每行显示一条
- cp 复制文件
cp [参数]<源路径> <目标路径>
-f 文件在目标路径中存在,则直接覆盖
-i 文件在目标路径中存在,则提示覆盖
-r 复制整个目录
-a 保持文件的原有属性
- rm 删除文件
-f 删除文件不给提示
-i 交互删除,y&n
-r 直接删除目录文件
- mv 移动或重命名文件
mv [options] <源路径> <目标路径>
-i 交互
-f 禁止交互
- file 检测文件类型
-L 跟随符号连接,显示符号连接所指向的文件类型
-b 列出辨识结果,不显示文件名称
- cat 在在显示文件和连接多个文件,在显示文件的内容时,依次读取,分平显示
-n 显示行号
-b 显示行号,空白行不显示
- more 分屏显示,enter继续,q退出
-d 显示一屏暂停并提示[Press space to continue,'q' to quit]
-m 定义每屏显示num行
+m 从num行开始显示
-p 之前先清屏
- find 在文件系统中安指定的条件查找文件
-name "文件名" 指定文件名
-user "用户名" 指定用户名
-group "组名" 指定组名
-mtime n 查n天前被修改过的文件
-atime n 查n天前被访问过的文件
-type d/f/b/l/p/c 查找指定文件类型的文件
d 表示目录文件;f 普通文件;b 块设备文件;l 表示符号链接文件;p 表示管道文件;c表示字符设备文件;
-s n[bcwkMG] 查找指定大小的文件。b 块为单位,每块521字节;c 字节;w 字为单位,两个字节;
-empty 内容为空
-perm mode 指定属性
操作:
-exec 命令 {} \ 对符号条件的文件执行命令,{} 和\之间有空格
-ok 命令 {} \ 交互执行命令
- whereis 查找二进制、手册及源代码文件
-b 二进制
-m 手册
-u 源码
- which 查找命令文件
- grep 在文本文件中查找匹配模板字符串的行,可以使用正则表达式表示模板字符串
grep [选项] <"模板"> <文件>
-num 同时显示匹配行上下10行
-c 只打印匹配的行数,无内容
-h 当搜索么多个文件时,不现实匹配文件的前缀
-l 打印匹配的模板的文件清单
-L 打印不匹配的模板的文件清单
-n 在匹配的行前打印行号
-v 反检所,只显示不匹配的行
正则表达式
^ 锚定行的开始
$ 锚定行的结尾
. 匹配一个非换行符
- 匹配零个或多个字符 . * 代表任意字符
[] 匹配一个指定范围内的字符,例如[Gg]rep匹配的有Grep和grep
[^] 匹配一个不再指定范围内的字符,例如[^A-FH-Z]rep就是指匹配不包含A到F和H到Z之内开头的字母
x{m} 重复字符x,m次
x{m,} 重复字符x,至少m次
x{m,n} 重复字符x,至少m次,不多于n次
- gzip 压缩单个文件,扩展名为. gz
-d 用于解压缩
-t 检验压缩文件是否损坏
-l 显示压缩文件压缩比例
-r 递归式查找指定目录并压缩其中的所有文件或者压缩文件
- tar 为文件活目录创建备份建立压缩包
-c 创建压缩包
-t 列出压缩包内容
-x 解压缩
-z 处理gzip压缩
-f 指定文件名,必选项
-j 使用bzip压缩文件
-v 显示操作信息
-C 指定解压文件
-r 向压缩包中添加文件
-u 更新压缩包
-d 从压缩包中删除文件
实例
//将/etc 和 /boot 目录所有内容压缩为sys. tar
tar -cvf sys. tar /etc /boot
//将/home目录压缩为h. tar. gz
tar -czvf h. tar. gz /home
//解压sys. tar到 /bak中
tar -xvf sys. bak -C /bak
//查看h. tar. gz内容
tar -tzvf h. tar. gz
//将/ect/psswd文件添加到sys. tar压缩包中
tar -rvf sys. tar /etc/passwd
- ln 建立链接文件
ln [选项] <目标文件名> <链接文件名>
-s 创建符号链接文件 . conf
- touch 创建空文件
- wc 统计文件中的行数,单词数以及字符数。
-c 字符数char
-w 单词数word
-l 行数line
++重启和关机
- reboot 重启
- shutdown 重启活关闭己玄机
shutdown [选项] [-t] time [提示信息]
-f 重启不执行fsck
-F 重启执行fsck
-h 关机操作
-k 只是送消息给所有用户,但不会真正个关机
-r 重启
-c 取消前一个shutdown
时间的表示方法
+num 等待num分钟后执行shutdown
now 现在执行
hh:mm 在几点几分执行命令
提示信息用字符串表示
- poweroff 关闭计算机
++查看系统信息命令
date 查看或设置日期和时间
-s 日期/时间 设置系统日期/时间为指定值
lspci 显示所有pci设配信息
- free 查看内存使用强况,包括虚拟,物理和缓冲区。
-b 字节单位
-k
-M
- df 查看分区空间使用情况
-m 以MB为单位
-k
- help 产看内置的shell帮助信息
shell 的命令是内置定义的,输入 “help” 可以看到这个列表。
输入“help name” 来查找关于 “name”命令功能的更多信息。
输入 “info bash” 来查看关于 shell 的更多信息。
输入 “man -k” 或者 “info” 来查看没有列在这个列表中的命令的信息。
- man 显示命令以及相关配置文件的用户帮助手册
- uptime 显示系统已经运行了多长时间
++权限设定
chmod
用法:chmod [选项]. . . 模式[,模式]. . . 文件. . .
或:chmod [选项]. . . 八进制模式 文件. . .
或:chmod [选项]. . . --reference=参考文件 文件. .
每种<模式>都应属于这类形式“[ugoa]*(-+=)+”。
1. 操作对象
u 用户 user
g 组 group
o 其他用户 others
a 所有用户 all 系统默认
2. 操作符号
+ 添加
- 取消
= 赋予给定权限并取消其他的权限
3. 表示权限
r 可读
w 可写
x 可执行
s 在文件执行时把进程的属主活组ID置为该文件的文件属主
t 设置用户对目录文件具有粘着位权限是则会o t
例子
chmod u + rw file1
++用户管理
+++TC/IP协议
Linux系统常用服务器端口号 在/etc/servers文件定义
www 80(TCP)
ftp-control 21(TCP)
ftp-data 20(TCP)
smtp 25(TCP)
telnet 23(TCP) 实现远程登录
dns 53(UDP)
pop3 110(110)
TCP/IP配置文件
/etc/sysconfig/network 包含主机最基本的网络信息
/etc/resolv. conf 配置域名服务客户端,指定域名服务器位置
/etc/host. conf 域名服务客户端的控制文件,指定域名解析的程序和解析顺序
/etc/hosts 配置主机名和IP地址对应关系,完成主机名于IP地址的映射
/etc/sysconfig/network-script/ 存放网络初始化配置。如:第1个以太网接口配置ipcfg-eth0
/etc/services 设定主机不同端口的服务
/etc/protoclos 设定主机使用协议以及哥哥协议的版本号
+++网络命令
- ifconfig 配置或查看网络接口
- route 查看内核路由表信息和,添加删除路由
- ping
- netstat 查看网络状态信息
- ifup 激活网络接口
- ifdown 禁用网络接口
- traceroute显示数据包到达目的的主机所经过的路由
traceroute www. baidu. com
- netconfig 配置网络借口的IP地址网关子网掩码和DNS服务器位置参数 //ubuntu中找不到
- arp 查看arp缓存
进程管理的命令
ps 显示进程信息
-a 显示所有进程(不包括没有终端的进程)
-u 显示用户名和启动时间
-x 显示没有终端的进程
-e 显示所有进程(不显示进程状态)
top 动态显示进程信息
kill 给进程传递信号
kill [信号值] PID
信号值
-24/SIGSTOP 暂停
-18/SIGCONT 继续暂停的进程
-1/SIGUP 挂起一个进程
-15/SIGTERM 软中断,正常退出进程
-9/SIGKILL 杀死一个一个进程
-20/SIGTSTP 键盘停止信号 ctrl+z
PID
其中 0 代表所有的用户进程
killall 终止指定的程序名所对应的进程
killall [信号值] 程序名
nice 设置优先级,最高 -20 ,最低 19,默认为 10
- renice 重置优先级别
- jobs 查看当前控制台中的后台进程
- fg 把后台的进程调入前台
jobs
fg num
- bg 把后台挂起进程转换为后台运行状态,相当于运行时加了&符号
- pstree 显示进程树
++Ubuntu 下软件管理
- apt-get install 软件名 下载安装软件
- apt-get autoremove softname 卸载删除软件
- apt-cache search 正则表达
aptitude search 软件 查找软件
- apt-cache stats 显示系统安装包统计信息
- apt-cache pkgnames 显示系统全部可用包的名字
- apt-cache show k3b 显示包的信息
- apt-file search filename 查找文件属于哪个包
- dpkg -l 查看已经安装的包裹
- apt-cache depends xxx 查询软件依赖哪些包
- sudo apt-get dis-upgrade 更新所有
sudo apt-get upgrade 更新安装软件不更新内核
11 dpkg -l |grep ^rc|awk '{print $2}' |sudo dpkg -P
清楚所有已删除包的参与配置. 报错是无须担心
uname -r 查看内核
cat /etc/issue 查看ubuntu版本
lsusb 查看usb设备
++目录类型
- /bin 该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。
- /boot 该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息
- /dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。 /cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下, 例如“mount /dev/cdrom /cdrom”
- /etc 该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
- /sbin 该目录用来存放系统管理员的系统管理程序。
- /home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
- /lib 该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
- /lost+found 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
- /mnt 该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。
- /proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的
- /root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录
- /tmp 用来存放不同程序执行时产生的临时文件
- /usr 用户的很多应用程序和文件都存放在该目录下
|