符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
命令格式: 命令 [-选项] [参数]
10年积累的网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有甘孜州免费网站建设让你可以放心的选择与我们合作。
如:ls -la /usr
**说明: **
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a à ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a
作用:切换用户身份
语法:su [选项] 用户名
-c 仅执行一次命令,而不切换用户身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目录的CRUD
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录] / 切换到根目录
.. 回到上一级目录
. 当前目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
2,,绝对路径 cp –R / ect/service /root/test/aa/bb
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
扩展点 :删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
eg:cat /etc/services
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
eg:head -20 /etc/services head –n 3 /etc/services
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接
eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13链接文件的长度
格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
2,- 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
1,相当于 cp -p +同步更新
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
扩展:man的级别 (帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)
[图片上传失败...(image-6718d2-1624438708895)]
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令
命令名 --help 列举该命令的常用选项
eg: cp --help
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件类型查找
f 二进制文件l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find****查找的基本原则 :
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
命令路径:/usr/bin/which 执行权限:所有用户
作用: 显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
命令路径:/usr/bin/bzip2 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
**shutdown **[选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令
**reboot **重启系统 reboot -h now立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
《大碗》编辑器版
周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
:
[图片上传失败...(image-a08366-1624438708894)]
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光标后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光标前插入文本
|
|
I(shift+i)
|
在本行开始插入文本 行首
|
|
o
|
在光标下插入新行
|
|
O(shift+o)
|
在光标上插入新行
|
|
命令
|
作用
|
|
:set nu
|
设置行号
|
|
:set nonu
|
取消行号
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存为指定文件
|
|
:w a.txt
|
内容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷键,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只读属性)
|
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
|
命令
|
作用
|
|
x
|
删除光标所在处字符 nx 删除光标所在处后n个字符
|
|
dd
|
删除光标所在行,ndd删除n行
|
|
:n1,n2d
|
删除指定范围的行(eg :1,3d 删除了123这三行)
|
|
dG
|
删除光标所在行到末尾的内容
|
|
D
|
删除从光标所在处到行尾
|
|
命令
|
作用
|
|
yy、Y
|
复制当前行
|
|
nyy、nY
|
复制当前行以下n行
|
|
dd
|
剪切当前行
|
|
ndd
|
剪切当前行以下n行
|
|
p、P
|
粘贴在当前光标所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光标所在处字符
|
|
R(shift + r)
|
从光标所在处开始替换字符,按Esc结束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索时忽略大小写 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一个出现位置,与搜索顺序相同
|
|
N(Shift + n)
|
搜索字符串的上一个出现位置,与搜索顺序相反
|
|
:%s/old/new/g
|
全文替换指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范围内替换指定字符串
|
% 指全文,s 指开始,g 指全局替换
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp
v 可视字符模式
V****(shift+v) 可视行模式,选择多行操作
**ctrl+v **可视块模式(列模式),操作列
I或者O进入插入模式。
1,图形化界面
2,setup 命令虚拟界面
3,修改配置文件(以网络方式为NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络生效:
service network restart
命令路径:/bin/ping 执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
netstat –antpl
临时生效:
hostname 主机名
[图片上传失败...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[图片上传失败...(image-2b9d9e-1624438708893)]
修改主机名和ip地址之间的映射关系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置别名
[图片上传失败...(image-ec86cf-1624438708893)]
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
查看系统中所有进程
ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息
作用: 查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
添加用户
语法:useradd [选项] 用户名
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
删除用户
-r 删除账号时同时删除宿主目录(remove)
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息 -a 显示所有分区包括大小为0 的分区
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 /proc/sys/vm/drop_caches
Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用TAB进行命令补足,或者使用aliase来简化某个命令的输入,但这并不能从根本上解决敲击键盘次数过多的问题。\x0d\x0a\x0d\x0a可以把任何命令或命令的组合指定给键盘上的某个键,可以是Alt+[A-Z],\x0d\x0aCtrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],还有更不可思议的是甚至还可以为功能键加上“参数”,这样你按下那个键的时候,它会等待你输入相应的参数,并根据不同的参数运行不同的命令。\x0d\x0a\x0d\x0a当然,有一些热键会被终端所捕获,如常见的Ctrl-D/C/Q/Z等,不过没关系,可用的热键还多着呢!\x0d\x0a\x0d\x0a定义热键的配置文件为:/etc/inputrc 或 ~/.inputrc,定义热键的格式如下:\x0d\x0a\x0d\x0a"":""\x0d\x0a\x0d\x0a其中热键对应的ASCII字符可以通过 "先按Ctrl-V, 然后按热键" 的方式来输入, 如Ctrl-G对应的字符为^G, Alt-P对应的字符为^[p, Ctrl-Alt-H对应的字符为^[^H.\x0d\x0a\x0d\x0a可以用/C来代替Ctrl,/M来代替Alt, /M-/C来代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外还可以用/e代表^[.\x0d\x0a\x0d\x0a先来看一些基本的热键定义,(这里热键里的字母不区分大小写):\x0d\x0a"^[-":"su -/C-M" # 按Alt+- 执行su - 命令,末尾/C-M表示输入完定义的命令后回车,也可以更简洁地用一个/n来表示.\x0d\x0a\x0d\x0a"/M-/C-G":"gaim /dev/null disown/C-M"\x0d\x0a# 按Ctrl-Alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭\x0d\x0a\x0d\x0a其他一些组合键可以根据自己的需要配置,偶就不多说了.\x0d\x0a\x0d\x0a大家也许会觉得这样定义热键太乱了,而且很难记住,还有一定的限制。这个问题在后面会得到解决。\x0d\x0a\x0d\x0a一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找\x0d\x0a\x0d\x0a通过定义热键可以做到这点:\x0d\x0a\x0d\x0a"/eh":"^[OD" # move left\x0d\x0a# Alt-H 向左移一个字符, 相当于Left Arrowgh, 这里^[OD即向上方向键的ASCII字符,输入方式与前面提到的类似\x0d\x0a"/el":"^[OC" # move right\x0d\x0a# Alt-L 向右移一个字符,相当于Right Arrow\x0d\x0a\x0d\x0a"/ej":"^[OB" # move up\x0d\x0a# Alt-J 向下移动,相当于Up Arrow\x0d\x0a\x0d\x0a"/ek":"^[OA" # move down\x0d\x0a# Alt-K 向上移动,相当于Down Arrow\x0d\x0a\x0d\x0a"/ei":"^?" # left earse one character\x0d\x0a# Alt-I 向左删除一个字符,相当于Backspace\x0d\x0a\x0d\x0a"/eo":delete-char # right earse one character\x0d\x0a# Alt-O 向右删除一个字符,相当于Delete\x0d\x0a\x0d\x0a"/en":backward-kill-word # left kill one word\x0d\x0a# Alt-N 向左删除一个单词\x0d\x0a\x0d\x0a"/em":kill-word # right kill one word\x0d\x0a# Alt-M 向右删除一个单词\x0d\x0a\x0d\x0a"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head\x0d\x0a# Alt-A 删除当前位置到开头,也就是多Alt-N几次(A-- ahead)\x0d\x0a\x0d\x0a"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head\x0d\x0a# Alt-E 删除当前位置到末尾,也就是多Alt-M几次(E-- end)\x0d\x0a\x0d\x0a"/ep": insert-last-argumem"\x0d\x0a# Alt-P 插入上一个命令最后一个参数 (P-- Paste)\x0d\x0a\x0d\x0a"/ew": forward-word\x0d\x0a# 系统默认Alt-F (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾\x0d\x0a\x0d\x0a"/eq": backward-word\x0d\x0a# 系统默认Alt-B (backward)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首\x0d\x0a\x0d\x0a发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用\x0d\x0a\x0d\x0a这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中在一块,比以前方便多了。不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。\x0d\x0a\x0d\x0aLinux下绝大部分服务的配置是基于配置文件的,一般说来,更改了某个服务的配置文件,要使其立即生效,还需重启该服务直接的或依附的守护进程才行。难道你就不觉得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”这样做很繁琐么?如果要配置的服务较多而且要不停地调试呢?况且我们平常使用Linux时难免会不时地终止或启动某个服务进程,输入命令的次数也不少。如果为每个服务都指定一个热键的话,似乎不大可能。如果我们赋予一个热键为一个基本键,而相应的服务为其“参数”,那又如何呢?\x0d\x0a\x0d\x0a举个例子,赋予Alt-S (S--Start)为启动服务的基本键,服务名的前2个字符为启动“参数”,那么就可以像下面那样随意启动某个服务了:\x0d\x0a"/essm":"service smb start/n"\x0d\x0a# /es=Alt-s, sm=smb,\x0d\x0a# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入“参数”间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。\x0d\x0a\x0d\x0a"/esht":"service httpd start/n" # ht=httpd,启动Apache服务\x0d\x0a\x0d\x0a类似地,我们赋予\x0d\x0aAlt-D(D-- shutDown) 为停止服务的基本键\x0d\x0aAlt-R(R-- Restart) 为重启服务的基本键\x0d\x0aAlt-T(T-- Status) 为查看服务状态的基本键\x0d\x0aAlt-C(C-- Configure) 为打开服务对应的主配置文件的基本键\x0d\x0a如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打开NFS的配置文件\x0d\x0a"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打开smb的配置文件\x0d\x0a\x0d\x0a如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:\x0d\x0a"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打开sshd服务端配置文件\x0d\x0a"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打开sshd客户端配置文件\x0d\x0a\x0d\x0a如果要执行某个应用程序呢?可以用Alt-x做基本键(x-- eXeccute) 如:\x0d\x0a"/exga":"gaim /dev/null disown clean /n"\x0d\x0a"/exxm":"xmms /dev/null disown clean /n"\x0d\x0a"/exvm":"vmware /dev/null disown clean /n" "/exna":"nautilus /dev/null disown clean /n"\x0d\x0a等等....\x0d\x0a\x0d\x0a到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:\x0d\x0a1. 执行指定的应用程序\x0d\x0a2. 启动|重启|关闭|指定的服务进程\x0d\x0a3. 查看指定服务的状态\x0d\x0a4. 打开指定服务的指定配置文件
1、linux分区
--在linux里面所有的设备、任何东西,在linux看来都是文件。
--文件在它看来,有两种形式:
第一种是字符型(键盘输入、打印机);
第二种是二进制型(硬盘、光驱、U盘)
--linux中所有硬件
--手动分区
--A、至少有两个分区
/ 根分区
SWAP 交换分区(物理内存大小的两倍)
--B、个人桌面分区
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盘刻录)
2、linux目录说明
--/dev/xxyN
--xx (分区所在设备类型:hd--IDE硬盘 sd--SCSI硬盘)
--y (标明分区所在设备
例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘)
--N (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始!
例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区
/dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)
3、linux目录结构
/ 根目录,最高级别
/bin 系统基本命令存放目录(/usr/bin)
/boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)
一般情况下,GRUB或LILO系统引导管理也位于这个目录
/dev 设备文件存储目录,如声卡、光驱...
/ect 存放系统设置文件(如用户账号密码、服务器配置文件等)
/home 普通用户家目录,默认存放目录
/lib 库文件存放目录
/lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。
当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。
有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。
/media 即插即用型存储设备的挂载点自动在这个目录下创建。
如USB盘系统自动挂在后,会在这个目录下产生一个目录;
类似cdrom的目录
/mnt 存放挂载存储设备的挂载目录,如cdrom等目录
/opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包,
比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。
/proc 操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。
/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统
/root linux超级权限用户root的家目录
/sbin 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令
与 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目录相似
(sbin,只有root权限才能执行)
/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。
/var/tmp目录和此目录相似
/usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。
大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。
/usr/share/fonts 字体目录
/usr/share/man 或 /usr/share/doc 帮助目录
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用户可执行文件目录
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录
/usr/include 程序头文件存放目录
/var (vary)此目录经常变动
/var/log 用来存放系统日志
/var/www 用来定义Apache服务器站点存放
/var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。
4、基本命令
--查看帮助 *** --help *** --?
--查看详细帮助 man ***
--登录 login
--退出窗口 exit
--关机 shutdown
--重启 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--进入根目录 cd /
--回上层目录 cd ..
--相对路径 cd dev
--绝对路径 cd /dev
--查用户名 whoami
--查当前目录 pwd
--列出当前目录内容 ls
-l(树详细显示目录内容)
-m(横列显示目录内容,是屏幕长度显示)
-a(列出全部文件,包括隐藏文件)
-S(以文档大小排序)
--创建目录 mkdir dname
--删除目录 rmdir dname
rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件)
rm -rf ***-(强制删除该目录下所有内容,不询问)
--创建空白文件 touch ***
(ps:从技术的角度来讲,linux的文件后缀名没有任何意义)
--复制 cp
cp -r **1 **2 (复制1到2中)
--移动 mv
mv -t **1 **2 (把2移动到1中)
--编辑文本 vi [文件名]
--查看文本 cat 由第一行开始显示文本内容
tac 从最后一行显示,可以看出 tac 是 cat 的倒着写
more 一页一页的显示文档内容
less 与 more 类似,可以往前翻页
head 只看头几行
-N(数字,可根据行数显示)
tail 只看后几行
-N(数字,可根据行数显示)
nl 显示的时候,顺序输出行号
od 以二进制位的方式读取档案内容
--查找文本 find [路径][查找类型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看环境变量 echo $SHELL
如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;)
--链接 ln
如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在)
a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样
joe.txt改变,a也跟着变
如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在)
--wc 统计指定文本文件的行数、字数、字符数
--grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
--col 见管道..
--------------------
----信息显示命令----
--------------------
--date 显示和设置日期
--stat 显示指定文件的相关信息
--who、w 显示在线登录用户
--whoami 显示用户自己的身份
--id 显示当前用户的id信息
--hostname 显示主机名称
--uname 显示操作系统信息
--dmesg 显示系统启动信息
--du 显示指定的文件(目录)已使用的磁盘空间
--df 显示文件系统磁盘空间的使用情况
--free 显示当前内存和交换空间的使用情况
--fdisk -l 显示磁盘信息
--locale 显示当前语言环境
5、挂载点(mount 设备目录 挂载目录)
--访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定)
--例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接访问光驱内容
--卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误.
6、startup-shutdown(linux启动流程)
--A、boot sequence(important) linux启动过程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)
c. load the kernel of the OS
(加载为kernel核心的OS)
d. init process starts...
(启动linux第一个进程init)
e. execute /etc/rc.d/sysinit
(执行系统最重要的配置文件,后台启用进程)
(rc.d--run command)
f. start other modules(stc/modules.conf)
(开启各种模块,如内存管理模块、硬盘管理模块)
g. execute the run level scripts
(系统启动是分层次的,根据情况执行,每个层次之间没关系)
0 - 系统停机状态
1 - 单用户工作状态 root
2 - 多用户状态(没有NFS)
3 - 多用户状态(有NFS)
NFS - Network File System 网络文件系统,联网系统
4 - 系统未使用,留给用户
5 - 图形界面
6 - 系统正常关闭并重新启动
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它进程脚本,如tomcat自动启动,要修改此配置文件)
i. execute /bin/login
(登录界面)
j. shell started...
7、vi 文本编辑器
--两种模式:命令模式 编辑模式
--vi [文件名]
(切换到编辑模式)
a append-光标后添加
i insert-光标前插入
o open-另起一行编辑
esc (切换回命令模式)
:w 存盘
:wq 存盘退出
:q 退出
:q! 不存盘退出
dd 删除其中一行
dw 删除一个单词
(sudo gedit 文本 常用linux下的文本编辑器,比vi好用)
8、用户设置
--切换用户(switch user) su username
小技巧:直接exit切换
--添加用户 useradd username [-g] [组名](分配到某个用户组)
(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)
--设置密码 passwd username
--cd /etc
--查看用户信息 more password
如新增的用户信息:username:x:500:500::/home/username:/bin/bash
第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;
第二个数字:用户ID号;
用户的目录是/home/username;
用户的SHELL是/bin/bash
(命令---SHELL[解释命令]---kenrel内核)
SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用户组 groupadd groupname
--查看用户组信息 more group
--删除用户组 groupdel groupname
--修改用户 usermod [-g] [组名] [用户名]
--删除用户 userdel username
然后把/home的文件夹删除了 rm -rf 文件夹
9、权限file privilege
--linux把文件的权限分成四种:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一个数字'-'代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用户组的用户
第三位表示不在同一用户组的用户权限
--设置权限 (随意应用,灵活组合!)
1、普通用法
--添加权限 [chmod +x 文件]
如:-rw-r--r-- --- -rwxr-xr-x
--删除权限 [chmod -x 文件]
如:-rwxr-xr-x --- -rw-r--r--
--给自己添加权限 [chmod ?+x 文件]
如此类推,组--g,其他人--o
如:chmod u+x -rw-r--r-- --- -rwxr--r--
chmod g+x -rw-r--r-- --- -rw-r-xr--
chmod o+x -rw-r--r-- --- -rw-r--r-x
2、专业用法 chmod 755/777
--原理,八进制转二进制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者权限 chown (change owner)
如:chown 原来文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一个命令执行的结果交给下一个命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用举例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(显示文件结果,再数数有多少行)
--$cat /etc/passwd | grep lrj
(显示文件结果,再查找包含lrj的行)
--#dmesg | grep eth0
(显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常)
--$man bash | col -b bash.txt
语法:col [-bfx][-l缓冲区列数]
补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符""和"",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
参数:
-b 过滤掉所有的控制字符,包括RLF和HRLF。
-f 滤除RLF字符,但允许将HRLF字符呈现出来。
-x 以多个空格字符来表示跳格字符。
-l缓冲区列数 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
--$ls -l | grep "^d"
(用正则表达式筛选出目录列表中 头字母为'd' 的内容--目录)(^是正则表达式开头部分)
--$ls -l * | grep "^-" | wc -l
(列出目录列表中 头字符为'-'的内容--文件,并统计显示的行数wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替换
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向输出:
如 ls cmd.txt ,把文件写到cmd.txt,不输出在控制台
ls cmd.txt ,把文件追加写到cmd.txt
重定向输入:
如 wall cmd.txt,把文本内容发给所有人
12、修改系统的默认系统级别
常用3和5
3 - 多用户状态(有NFS)
NFS - Network File System 网络文件系统,联网系统
5 - 图形界面
PS.设置用户权限: sudo chmod 777 目录
4表示读,2表示写,1表示执行.
第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.
755表示文件所有者可读写,执行.
第二位5表示与所有者在同一用户组的可读,可执行,不可写.
第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明
[1] 每两行合并在一起
@dahuawk 'ORS=NR%2?" ":"\n"{print}'
[2] 每三行合并在一起
@dahuawk 'ORS=NR%3?" ":"\n"{print}'
[3] 每四行合并在一起
@dahuawk 'ORS=NR%4?" ":"\n"{print}'
[4] 统计std cell和sRam占的面积
@dahusummaryReport
[5] 找出drc的port相关的数量
@dahucat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-
[6] 获得选中的pin的名字
@innovusdbget selected.name
[7] 对一个文件,多目标删除
@dahused -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'
[8] 获得不规则fplan的坐标组
@innovusdbget top.fplan.boxes
[9] 在某个目录下找到带某个字符的文件[区分大小写]
@dahufind -iname "*tcic*"
[10] 在某个目录下,遍历所有文件内容,得到含有某个字符/字符串的行
@dahugrep -r 'insertion delay' ./
[11] 查看当前的INNOVUS版本号
@dahuecho $INVS_VER
[12] 替换某个目录下所有文件内容
@dahused -i"s/查找的内容/替换后的内容/g"`grep -rl"查找的内容"./`
[13] 在gui界面下highlight某条path
@dahu ctd_trace -from * -to * -color *
[14] 引用${REV},为什么采用大括号{}
为了防止引用造成后面错乱。
如:/fs/omp_com_03/RELEASE/top2hlb/R1/HLB_DEF/${REV}/${top}.def.gz
[15] 解压命令
gzip -d FileName.gz
[16] 换某个cell的坐标 {AAA, BBB}
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_x AAA
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_y BBB
@innovus zoomSelected
[17] 设置某一个cell不用
@innovus set_dont_touch BUFF false
@innovus set_dont_touch BUFF true
[18] 找某个性质
@innovus dbSet [].?h
[19] 删去空白行
vim 中:g/^s*$/d
简单解释一下:
g :全区命令
/ :分隔符
^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾。连起来就是匹配只有空字符的行,也就是空行。
/d :删除该行
[20] echo 写入带有双引号""的内容。
echo ‘ “AAAbbb” ’ 1.tcl
[21] echo 写入带有单引号‘’的内容。
echo “ ‘AAAbbb' ” 1.tcl
[22] keep CPU 数目
@innovussetMultiCpuUsage -localCpu 16
@innovushistory keep 999999
[23] 打开xlsm文件
openoffice.org 文件
[24] 显示clock path路径
@innovus report_timing -to XXX -path_type full_clock
[25]报出没有被约束到的path
@innovus report_timing -to XXX -uncounstrained
[26]报出穿过path中的某一点
@innovus report_timing -to XXX -view
view = MODE + corner
[27] vim 全选(高亮显示 ):按esc后,然后ggvG或者ggVG
[28]