常用的Linux命令
ll: -t 排序显示 -r倒序显示 -h 显示大小
cat: 输出文件中的所有内容,也可以输出多个文件。 -b 显示出非空的行号。 -n 显示出所有的行号。
echo: 重定向, 可以把一些文本输出到一个文件中 如: echo -e "maizi_today" > b.txt,
备注( 使用>可以将本来出现在屏幕的标准输出信息重定向到一个文件中。用>>可以在实现重定向时不覆盖原有内容, 而是在文件末尾追加内容)
tac: 倒序打印出文件。
rev: 把所有的内容都反过来显示。 如:maizi变成iziam
wc: -l 显示这个文件一共多少行, -m显示这个文件一共多少个字节。
cp: 拷贝, -r的时候拷贝一个目录,递归处理。 -v 就是显示出你拷贝的过程。
mkdir: 创建目录, -p 递归创建目录, -v 显示创建过程。
mv: 重命名和移动文件, 注意,如果是移动到当前目录,需要./这样, 默认是面对的是绝对目录。
dirname: 获取当前文件的前面的目录。 如: dirname /home/maizi/maizi_today 得到的结果就是: dirname/home/maizi
basename: 获取就是当前目录的最后一个目录: 如: dirname /home/maizi/maizi_today 得到的结果就是: maizi_today
du: 查看文件的大小 -h 显示里面每一个文件大小 -sh 显示文件的总大小
---------字符操作
cut: 选取文件中的每一行数据 -b 选中第几个字符 -c:选中多少个字符 -d:分隔符 -f:选中字段 下标从1开始(备注: 这个命令主要是针对截取字符串的时候使用)
tr: 替换或删除字符
seq: 序列, -s 指定换行符 -w 等宽,用0来填充 还可以指定步长 swq 1 2 10
shuf: 生成随机序列 shuf -i 5-10 shuf -i 5-20 | head -1 获取其中一个
sort: 排序。 -g : 按常规数值排序 -o :指定输入位置 -u: 去重复行 -r 倒序排序
-n 根据字符串值比较 -h 根据大小排序 如: sort -h 1.txt 2.txt 如: du -h | sort -hr
uniq: 去掉相邻的重复的, 可以先排序然后去重。
tee: 指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 -a或--append 附加到既有文件的后面,而非覆盖它.(备注:字符串处理)
join: 用于将两个文件中,指定栏位内容相同的行连接起来。类似于表的数据相互连接。
-------------查看
stat: 显示文件或者文件的系统状态 , 修改时间, 创建时间, 权限。
head: 显示文章的前面几行, -n 显示文章的前面几十行 head -20 krb5.conf | cat -n 这样可以看到行号
tail: 查看文章末尾的数据, +n 显示文本的最后多少行 -f 只要文本在更新,就一直显示后面的数据。
nl: 显示行号,和 cat -n 一样的效果
date: 这个时间是UTC时间, 比我们本机时间要快8个小时。 可以进行设置为本地时间。
find: 搜索文件目录和结构 ,适合通配符。
-name : 文件名,文件夹一样也可以
-type: 文件类型, d目录,f常规文件
路径 文件名 动作
find /home/maizi -name "*.tar*"
find /home/maizi -name "*.tar*" -ls
-------------下载
wget: 直接下载
curl: -o index.html http://wwww.baidu.com 直接保存这个网页到index.html中。
(备注:curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。
它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。)
----------系统相关硬件设置数据
free: 查看内存使用率 -m M显示 -g G显示 -h 易读单位显示
df: 查看系统磁盘空间使用情况 -h 易读单位显示, -t 只显示指定的文件类型
iostat: CPU利用率和I/O -c 显示CPU使用率
sar: 查看系统资源中和利用率 sar -u 2 3 每两秒一共监控3次 , -u CPU -r 内存 -o 输入到文件中,用于分析
-------------网络 , 查看进程 ,端口
netstat: 命令用于显示网络状态。 -l 显示所有监听 -t 显示TCP -u 显示udp信息 如果启动很多服务就可以查看了。
netstat -ap | grep ssh 找出程序运行的端口
netstat -anpt | grep ':8080' 找出运行在指定端口的进程
-n 拒绝显示别名,能显示数字的全部转化成数字。
ss: 查看socket工具。 ss -anpt | grep ssh grep -i 忽略大小写
lsof: 列出打开的文件。lsof -i tcp 监听网络地址 lost -i :mysql lost -i :22 lost -i :80 (查看这个端口)
ps: 查看当前的进程快照 -a: 显示所有进程 -u 选择有效的用户id或者明灿 -e 显示所有经常 -x 显示无终端的进程
-p 显示指定进程 -f :做一个更为完整的输出 ps -ef 是用标准的格式显示进程的、其格式如下, 常用都是ps -elf
top: 动态显示活动的进程和系统资源利用率。 -b 将输出编排成易处理的格式 -H 显示线程
nc: TCP 和 UDP的连接和监听。nc -v -z -w2 192.168.0.3 1-10000 连接2秒,查看端口。
--------------推送和拉取
scp: 基于ssh的安全远程服务器拷贝
sup -p 22 -r src_dir root@192.168.1.10:/dst_dir
本地文件拷贝到远程目录 (两个Linux数据拷贝) 推送
scp -p 22 -r root@192.168.1.10:dst_dir src_dir
将远程主机目录拉取到本地
rsync: 远程或者本地文件同步工具。 linux 上安装并配置 rsync,然后还要启动。
推送: rsync -avz src root@192.168.1.10:src
拉取: rsync -avz root@192.168.1.10:src src
-a: 递归,保留权限,属组。
-v: 显示复制信息
-z: 压缩传输数据
指定端口: rsync -avz /Users/maizi/Desktop/run.sh -e "ssh -p10001" root@192.168.70.102:home/maizi
------------解压和压缩
tar: 解压和压缩
-c: 创建新归档
-x: 提取归档所有文件
-f: 使用归档文件或者设备归档
-z gzip压缩
-v 输出处理过程
-t 存档的内容列表
-C 指定目录
tar -cf b.tar b.txt
tar -tvf b.tar
tar -xf b.tar 解压
tar -cvzf b.tar.gz b.tar 压缩b.tar为gz文件
tar -zxvf b.tar.gz 解压这个gz文件
---------针对系统文件进行修改
source: source ~/.bashrc 这个波浪号代表是什么 ~代表主目录
Linux source命令:
通常用法:source filepath 或 . filepath
功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
例如,当我们修改了/etc/ profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。
sudo: Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
history: 查看所有的命令历史记录
--------------权限
id root 查看一个用户
useradd maizi 用户添加
userdel -r maizi 用户删除
把一个用户加入到另外一个组
gpasswd -a maizi root
把组中的用户删除
gpasswd -a maizi root
chomd:
chomd o+w o : other g:group
chomd g+w other 其他人有writer的权限
a+x 是给所有人加上可执行权限,包括所有者,所属组,和其他人
o+x 只是给其他人加上可执行权限
--------------acl
setfacl: 设置文件权限——————————这个针对的是文件的内容的权限操作。
setfacl -m u:user1:rw root.txt
设置user1这个用户有rw权限,对应的事root.txt这个文件
getfacl: 查看权限
setback: 删除权限 setback -x u:user1 root.txt 清空文件权限 setback -b root.txt
如果需要是对应的文件夹里面的文件的创建删除的时候, 我们需要的就是对上面一层目录处理。
setfacl -m u:user1:rwx /mnt
设置目录以及子目录和文件设置权限
setfacl -m u:user1:rwx -R /mnt/ 递归处理
如果后面再创建文件和目录, 这个时候又是没有权限的, 这个时候需要如何处理
setfacl -m d:u:user1:rwx -R /mnt/ default 默认 , 就是继承设置好的文件权限。