文件操作相关
chmod
chmod有两种操作方式,
一种为普通授权法:
1 | chmod +x a.txt |
文件权限,’r’ 代表可读(4),’w’代表可写(2), ‘x’代表可执行(1)
上面括号内的数字 代表 “8421法”,即第二种操作方式。
1 | chmod 777 a.txt |
关于文件的权限信息说明:
-r-xr-xr-x 1 yubo yubo 342 May 27 22:06 hello.sh*
前面的 “-r-xr-xr-x” 即对应文件的权限信息。
其中,第一位是’-‘ 这个表示文件, 如果是’d’就表示文件夹;
后面分为三组,分别表示 “拥有者的权限”,“拥有者所在的组、组员的权限”,“其他用户的权限”;
每一组的权限,都是三位,分别代表 读写和执行的权限,所以,如果三个权限都有,就稳定为 “rwx”。
对上述文件,修改,使文件所有者有 所有权限:
1 | chmod 755 hello.sh |
[Linux]创建新用户及用户权限 - 知乎 (zhihu.com)
sudo
sudo 命令 以系统管理者的身份执行,也就是说,经由sudo执行的命令就好像 是 root亲自执行。
需要输入自己的账户密码。
使用权限: 在 /etc/sudoers 中出现的使用者
1 | 以yao用户身份编辑 home目录下的index.html文件 |
编辑文件
命令: vi 和 vim
操作: vi + 文件名
进入后,操作界面有三种模式:命令模式、插入模式和底行模式
三种模式相关定义:
命令模式
刚进入文件就是命令模式,通过方向键控制光标位置,
使用命令”dd”删除当前整行
使用命令”/字段”进行查找
按”i”在光标所在字符前开始插入
按”a”在光标所在字符后开始插入
按”o”在光标所在行的下面另起一新行插入
按”:”进入底行模式
插入模式
此时可以对文件内容进行编辑,左下角会显示 “– 插入 –””
按”ESC”进入底行模式
底行模式
退出编辑 :q
强制退出 :q!
保存并退出 :wq
操作步骤示例
保存并退出编辑 “ESC” -> 输入”:” -> 输入”wq”,回车
取消操作:按”ESC” -> 输入”:” -> 输入”q!”,回车
补充
1 | vim +10 filename.txt |
文件创建查看删除
1 | 创建文件 |
diff
显示两个文件的差异
1 | diff -c file1 file2 |
压缩/解压文件
tar[选项][文件]
1 | 打包并压缩文件,压缩包后缀为 .tar.gz |
具体参数参考如下:
参数 | 作用 |
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或者解压 |
-j | 用bip2压缩或者解压 |
-v | 显示压缩或者解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限和属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
查找文件
find
1 | find /bin -name 'a*' |
whereis
将和ls命令相关的文件都找出来 参数是某个命令(验证过 cmake ssh等)
1 | whereis ls |
which
which指令 会在环境变量 $PATH 设置的目录里查找符合条件的文件
1 | which is bash |
grep
grep [选项] [文件]
1 | 在文件中查找字符串(不区分大小写) |
参数 | 作用 |
---|---|
-b | 将可执行文件(binary) 当作文本文件(txt)来搜索 |
-c | 仅显示查找到的次数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择–仅列出没有“关键词”的行 |
下载文件
wget
1 | 该命令用于从网上下载内容 |
ftp
1 | ftp IP/hostname //访问ftp服务器 |
scp
通过scp命令在多台服务器中相互复制、传输文件(secure copy的缩写)
scp 是linux系统下基于ssh登录进行安全的远程文件拷贝命令
scp是加密的, rcp是不加密的, scp是rcp的加强版本
1 | scp /opt/data.txt 192.168.1.101:/opt/ |
网络操作
防火墙操作
1 | service iptables status //查看iptables服务的状态 |
查看网络信息
1 | ifconfig |
lsof
列出当前系统打开的文件描述符(list openfiles)
1 | 仅显示TCP连接(同理UDP) |
修改IP
修改网络配置文件,文件地址为
/etc/sysconfig/network-scripts/ifcfg-eth0
主要对应以下配置:
1 | TYPE=Ethernet //网络类型 |
修改以后,使用命令重启网卡
1 | service network restart |
配置映射
修改文件 vi /etc/hosts
在文件最后添加映射地址,示例如下:
1 | 192.168.1.101 node1 |
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。
tcpdump
抓包分析工具
使用tcpdump抓包
查看系统信息
1 | 查看操作系统版本信息 |
进程信息
1 | 查看所有正在运行的进程 |
service
1 | service命令用于运行System V init脚本,这些脚本一般位于/etc/init.d 文件中 |
free
1 | 这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况 |
top
显示当前系统中占用资源最多的一些进程,shift+m 按照内存大小进行排序
df
1 | 显示文件系统的磁盘使用情况 |
环境变量
1 | 查看当前环境变量 |
watch
用于动态查看命令执行的结果
比如,如果想要每隔一秒高亮显示 网络连接数的变化情况,则:
1 | watch -n 1 -d netstat -ant |
每隔一秒高亮显示 http 连接数的变化情况
1 | watch -n 1 -d 'pstree | grep http' |
vmstat
常用系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析CPU上下文切换和中断的次数
其它
创建新用户
root权限下,使用 useradd 命令进行
1 | useradd -m daidaini -c "test creating a new user" |
nohup
no hang up 的缩写,不要挂起的意思,这个是常用的后台启动程序的方法。
在交互环境下,我们可以直接将一些信息输出到当前界面;
那后台启动的程序,我们就会通常使用下边的命令,指定将信息输出到某个文件
1 | nohup command > some.file 2>&1 & |
命令解释
- 1 表示标准输出
- 2 表示文件标准错误输出
- 2>1& 表示将两者合并,合并到的文件为some.file