【notes3】linux/vi命令
文章目录
- 1.VMware/CRT:netstat -nal | grep 22
- 2.linux命令:linux组成:内核(=操作系统,和硬件打交道,驱动)。shell(和用户打交道,用户指令翻译成机器码给内核)。文件系统(文件组织方式,linux没有盘符,有目录/文件/链接link)。应用程序
- 2.1 关机/重启/注销
- 2.2 系统信息和性能
- 2.3 用户和用户组
- 2.4 网络和进程管理
- 2.5 系统服务
- 2.6 文件和目录
- 2.7 文件查看和处理
- 2.8 打包和解压
- 2.9 RPM包管理
- 2.10 YUM包管理
- 2.11 DPKG包管理
- 2.12 APT软件工具
- 2.13 用户管理及权限
- 2.14 正则:\d,?* +这些是[a-z]{m,n}这些的简写
- 2.15 sed:管道过滤(替换,删除),sed -i 's/\r//g' 文件(删除从txt复制来代码的换行符)
- 2.16 awk:-F指定分隔符,-V设置变量,NF列数,$NF是一行数据最后一列的值,多用于对字段(像数据库中的字段)
- 2.17 grep:元字符即\d,\D这些是Perl正则-P,扩展正则-E
- 3.vi命令:三种(命令行[Esc],编辑[i],底行[:wq])模式切换
1.VMware/CRT:netstat -nal | grep 22
1.1 VMware:netstat -anp|grep ssh,vi /etc/ssh/sshd_config放开Port 22,service sshd restart,chkconfig可将sshd加入到系统服务中开机后sshd将自动启动:chkconfig sshd on
VMware15和CentOS6.9:链接:https://pan.baidu.com/s/1HV6WqUTAwlOSjWkLXVrCRw ,提取码:1x8e 。VMware15【CG392-4PX5J-H816Z-HYZNG-PQRG2】直接下一步安装,右击图标属性 - 兼容性 - 更改所有用户的设置 - 勾上以管理员身份运行此程序。

点击创建新的虚拟机:自定义(高级)-稍后安装操作系统-linux-版本centos6 64位-D:\vm.\cent0s6-使用仅主机模式网络-将虚拟磁盘存储为单个文件(动态分配20G硬盘)。
编辑虚拟机设置:选中网络适配器添加-CD/DVD使用CentOS6的iso文件(开启此虚拟机出问题:控制面板-卸载程序-Microsoft Visual C++的两个x64和x86文件右击卸载,不点卸载,点修复再重启计算机)。
开启虚拟机安装操系:默认第一个install,方向键选择红色的Skip(跳过)回车。两个网卡注意要配置网络自动连接。使用所有空间-将修改写入磁盘-Basic Server。鼠标退出虚拟机用ctrl+alt,将一个小窗口移至虚拟机前就可以用QQ截图。

1.2 CRT:改注册信息要打开CRT客户端在最上端Help栏中Enter License Data
ssh客户端软件SecureCRT8.5:链接:https://pan.baidu.com/s/1Y74YVz2ysQ3rFjGjnthb1Q ,提取码:l8gb 。解压后如下所示:

右击以管理员身份运行上图的scrt…exe文件,安装完后桌面出现图标先不要点击运行,将上图注册机文件夹里的keygen.exe复制到下图默认安装路径文件夹中,并右击以管理员打开keygen.exe出现如下图黄色窗口。

在如下License中不用去除中括号,写入SecureCRT.exe中去除,Patch连到SecureCRT.exe和LicenseHelper.exe。

第一次打开下图进行填写注册信息按照上图黄色窗口对应写入,上面patch到就是下面这个.exe文件。


配置会话的属性,在会话上点击属标右键,选择Properties的Terminal。每30秒向服务器发送一次心跳。SSH2。Hostname:192…。Port:22。Username:root

修改Centos的字符集,增加对中文的支持: 登录服务器,输入 su – root 回车后再输入密码,切换到root用户(超级用户,有的远程服务器没权限)。修改字符集:echo LANG="zh_CN.gbk" > /etc/sysconfig/i18n。export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";。
修改时区为亚州上海时间,在root下执行并输入y:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。date (不是data)查看系统时间:date -s修改时间,date -s 2019/07/31,date -s 10:24:00 。date -s ‘2020-01-01 11:11:11’。
2.linux命令:linux组成:内核(=操作系统,和硬件打交道,驱动)。shell(和用户打交道,用户指令翻译成机器码给内核)。文件系统(文件组织方式,linux没有盘符,有目录/文件/链接link)。应用程序
win下任务管理器中explorer.exe进程(是Windows程序管理器或文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理。删除该程序会导致Windows图形界面无法使用)kill掉就不用重启安装软件时,cmd重新explorer.exe执行。
/usr/bin里是系统预装的可执行程序,会随着系统升级而改变。/usr/local/bin是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。/etc存放的是管理文件用的相关配置文件,比较重要的 /etc/rc,用户信息文件/etc/passwd:

/usr(Unix System Resource,不是User)放的是应用程序和文件,如果在安装软件的时候,选择默认安装的位置,通常就会默认在这个位置:

/var用来存放系统运行的日志文件:

/dev包含所有的设备文件。/proc是虚拟目录,主要存放的是内存的映射,通过这个目录和内核的数据结构打交道比如修改内核参数,获取进程的相关信息:

/boot存放了启动 Linux 的核心文件,包含镜像文件和链接文件,破坏后系统基本上就不能启动。/mnt是移动设备文件系统的挂点。
/bin/sbin当你装相关的软件或者安装包后,很多时候都会链接在这个目录下面,另外这里也存放了平时我们用的各种shell命令如 cp,ls,dd等。对于sbin,这里的s是super 的意思,意味着需要超级用户才能执行的命令。常见磁盘分区fdisk,创建文件系统的mkfs就在这里。
/lib开发过程中,共享库文件等很多放在这里,这个目录会包含引导进程所需要的静态库文件,对于用户和系统来说“必需”的库(二进制文件)。/usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。
/lost+found保存丢失的文件。什么意思,如果我们不恰当的关机操作,可能导致一些文件丢失,这些丢失的临时文件可能就会存放在这里。当重新启动的时候,引导程序就会运行 fsck程序并发现这个文件。
查看几个文件的内容差异:`diff -c file1 file2`。
将a.txt每5行分割为一个文件:`split -5 a.txt`。
nohup java -jar a.jar & ( jobs命令查看这个后台任务的编号 )。
netstat -ntlp查看运行程序的端口。
kill -9 %1(这个1就是jobs命令的1编号)。
tcpdump数据包获取,nc网络调试,vmstat进程信息和内存使用。
内存条:dmidecode |grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
ps -ef | grep memtester | grep -v grep | cut -c 9-16 | xargs kill -9
status, out = run_command("top -n 1 | grep '%Cpu(s)' | awk {'print $2'}") # top -d 1
cpu_run_size_value = ceil(available_cpu_value * (cpu_run_size_percentage - float(out)) )

2.1 关机/重启/注销

2.2 系统信息和性能


2.3 用户和用户组

2.4 网络和进程管理


2.5 系统服务


2.6 文件和目录


2.7 文件查看和处理


2.8 打包和解压
tar只是打包,并不压缩或解压。
-c: 建立压缩档案
-x:解压
-t:查看内容
-j, --bzip2
-z, --gzip, --gunzip --ungzip
-v, --verbose 详细列出处理过的文件
-f, --file ARCHIVE 使用存档文件或设备存档(指定存档文件),切记,这个参数是最后一个参数,后面只能接档案名。
tar命令必须和-f命令连用, 在选项f之后的文件档名是自己取的,习惯用.tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包。

2.9 RPM包管理

2.10 YUM包管理

2.11 DPKG包管理

2.12 APT软件工具

2.13 用户管理及权限

如下文件类型p是指管道文件。

2.14 正则:\d,?* +这些是[a-z]{m,n}这些的简写
^[]$:中括号内部只匹配一个字符。

\d:相等于[0- 9],中括号里是什么或什么。\D:相等于[^0- 9],除了0到9外的任意字符。如下匹配数字\d 或 数字外任意字符\D(也就是匹配任意字符)。

\w:字母,数字或下划线,常用于用户名的命名上。



组group:如上只想获取@前面的用户名,上面中括号,大括号都出现了,就差如下小括号。first就是组名,右边是js语法,underfined因为没命名。



2.15 sed:管道过滤(替换,删除),sed -i ‘s/\r//g’ 文件(删除从txt复制来代码的换行符)
如下将逗号替换为空格。s表示替换,g表示全局,即行中所有匹配项都被替换。sed -i ‘s/sys_led/sys_url/g’ /home/sysfs1/s3ip_sysfs_frame/sysurl_sysfs.c。

^匹配行首,$匹配行尾,如下d删除空行或只包含空格的行(因为行首行尾中间为空)。

sed常用于管道过滤,如下把x替换成y。

如下-r打开扩展正则,将逗号换成TAB。sed -n ‘60,70p’ a.txt :查看文件第60-70行。

2.16 awk:-F指定分隔符,-V设置变量,NF列数,$NF是一行数据最后一列的值,多用于对字段(像数据库中的字段)
如下按逗号分隔并打印分割后的第三列和第四列,默认用空格/制表符/换行符作为字段分隔符。

如下BEGIN指定了处理文本之前需要执行的操作。END指定了处理完所有行之后所需要执行的操作。

如下按逗号分隔并打印最后一列内容。


对比上面,如下一行一行读取并打印,列数>0打印。



如下-c统计个数。

2是个数,不是序号。


2.17 grep:元字符即\d,\D这些是Perl正则-P,扩展正则-E

如下.中的\是转义符,.168这样重复3次(注意168前面有.,不是168,而是数字)。


3.vi命令:三种(命令行[Esc],编辑[i],底行[:wq])模式切换
1.插入:以下命令都在命令行模式下。

2.上下左右:j下,k上,h左,l右。
3.翻页:

4.跳光标:


5.删字符和行:


6.复制粘贴:


7.替换:


8.撤,接:


9.行,找:



10.重复,大小写:


11.存盘:


12.列操作::%d删除文件整个内容。
