Linux命令
一.基础命令
1.ll查看目录
ll 和 ls -l 查看文件或文件夹的详细信息(-d文件夹)
2.ls查看目录
ls -a 查看隐藏文件夹或文件(只有名称)
ls -h 显示文件大小 (alh可以连用 -alh)
3.cat 查看文件内容
tac倒着查看内容
cat /aaa/a.txt
cat /aaa/a.txt /aaa/b.txt 一次查看两个文件内容(自动拼接)
4.head
head -5查看前5行
head -5 /aaa/a.txt
seq 10是分行写出数字1到10(一行一个数字)
5.tail
tail -5查看后5行
tail -5 /aaa/a.txt
tail -f 是动态查看(例子:tail -f /test/aaa.txt)
6.less
分页查看
空格显示下一行
可以使用【pageup】和【pagedown】键进行前翻页和后翻页
7.more
分页显示
按空格键显示下一页,ctrl+b返回上一页
v 调用vi编辑器
q 退出
8.mkdir 创建文件夹
mkdir /aaa/ 一次创建一个
mkdir /aaa/ /bbb/ 一次创建两个文件夹
mkdir -p /aaa/bbb 创建多级目录 aaa下bbb
9.touch创建文件
touch ./a.txt 当前目录下创建(相对路径)
touch /aaa/a.txt 根目录下的aaa下创建(绝对路径)
touch ./a.txt ./b.txt ./c.txt 在当前目录下一次创建三个文件
10.cd 进入目录
cd 进入到某个目录下
cd … 返回上一级目录
cd / 返回到根目录
11.rmkdir 删除空目录
12.rm -rf 删除
删除文件或文件夹(可以一次删除多个,和创建一样)
13.mv移动或重命名
移动文件或文件夹,或者重命名
mv /aaa/a.txt /aaa/b.txt 重命名,前面路径相同
mv /aaa/a.txt /bbb/ 移动文件
14.pwd 显示路径
绝对路径
15.which 显示命令路径
16.cp复制
cp复制文件
举例:cp aaa.txt bbb.txt 复制文件到一个路径
cp -r 复制目录
17.vim编辑
vim /aaa/a.txt vim是vi的加强版
:i 进行编辑
:esc 退出编辑 (退出编辑后命令)
:wq 保存退出
:x! 强制保存退出
:w保存不退出
:q 退出(什么都没修改)
:q!强制退出(有所修改但不保存)
18.echo 写入内容
不换行-n
-en 和 “” 之间要有空格
19.>和>>
>覆盖追加 echo “ ” > /aaa/a.txt (注意空格)
cat /aaa/a.txt > /aaa/b.txt (>或>>)
>>不覆盖追加
20.clear清空屏幕
二.进阶命令
01.du
查看目录大小
du -sh /etc/
02.df
查看磁盘大小
一般使用df -h
03.free
显示内存大小
-m 以MB显示
-g 以GB显示
04.wc
统计
wc 有四个参数可选,分别是l,c,m,w
wc -l filename 报告行数
wc -c filename 报告字节数
wc -m filename 报告字符数
wc -w filename 报告单词数
05.date
时间相关
date 显示时间
date +%Y-%m-%d 格式化显示时间
date -d “1 month ago” 1个月之前
date -d “20180101 1 day ago” 1天之前
date -s 时间 (修改时间)
举例:[root@hadoop /]# date -s “2017-4-26 11:06:00”
06.cal
日历
2019年
07. |
管道符
把左边的结果传给右边
08.grep
过滤
功能:查找匹配格式的内容
格式:grep[参数] <要找的字串> <要寻找字 串的源文件>
用法1:grep linux a.txt #搜索a.txt文件中字符串linux并输出
用法2:ls / | grep a.txt #匹配当前目录下文件名字是a.txt的文件
用法3:cat a.txt | grep linux #搜索a.txt文件中字符串linux并输出
grep -i忽略大小写
09.find
查找
find /test -name a.txt 搜索系统根目录下的 test 文件夹下名为a.txt的文件
查找文件size大于10个字节的文件或目录
find ./ -size +10c
查找文件size小于10k的文件或目录
find ./ -size -10k
find ./ -size -10M
find ./ -size -10G
find ./a*以a开头的目录或文件夹
find -name … 其他…
10.useradd
创建用户
创建新用户:useradd 用户名
修改用户密码:passwd 用户名
编辑/etc/sudoers文件,使用命令visudo
在root ALL=(ALL) ALL这一行下面添加:
用户名 ALL=(ALL) ALL
:x! 强制保存退出
使用普通用户来操作root用户的文件使用命令sudo + 命令,如:
sudo vi/etc/profile
切换用户使用su 用户名
删除用户:userdel -rf 用户名
ll /home/ 普通用户的家目录
11.chmod
修改权限
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
-rw-r–r--. 1 root root 145 Apr 26 03:22 aaa.txt
-代表文件,-后面的三位代表用户权限,再后三位代表用户组的权限,再后三位代表其他 用户权限
例如:chmod 777 /test/a.txt
chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
例如:chmod u+x aaa.txt
12.chown
修改所属用户和组
chown hadoop:hadoop filename 修改所属用户各组
chown –R 递归修改
13.ps
显示当前状态的进程信息
ps -ef | grep mysql
14. top
功能:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
15.tar
压缩和解压
tar -zcvf /test.tar.gz压缩位置 /test/ 压缩内容压缩
tar -zxvf /test/a.txt.gz 解压a.txt.gz到当前目录
tar -zxvf /test/a.txt.gz -C /test 解压a.txt.gz到指定目录(大写C)
16.kill
杀死进程kill -9
kill -9 1123(进程号) (多个直接写在后面,用空格隔开)
17.service
启动关闭服务
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙(临时关闭)
service network restart 重启网卡
service mysql restart 重启mysql服务
18. chkconfig
主要用来更新(启动或停止)和查询系统服务的运行级信息
chkconfig iptables off 永久关闭防火墙 (重启后生效)
19.rpm
rpm -qa 列出所有安装过的包
举例:rpm -qa | grep mysql
rpm -ivh 带进度安装
rpm -ivh xxx.rpm
rpm -e --nodeps卸载
20.yum
yum install … 安装
yum remove … 卸载
yum update … 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum upgrade … 升级所有包,不改变软件设置和系统设置
yum list 列出所有的包文件
yum -y … 不提示执行
21.nohup
后台启动进程,配合&使用
例如: nohup sh a.sh &
22.scp
远程发送
scp -r ./a.txt test-hadoop-2-21:/home/hadoop
home 是主机的IP
sync 作用 : 将内存中的数据保存到磁盘
23.rsync
同步
rsync -a -auvzP --bwlimit=30000 192.168.2.21:$src_dir $dst_dir
24.wget
一般下载资源使用
wget http://xxxxxxxxxx
三.Linux其它命令及定时任务
01. ifconfig
查看ip
02.reboot
重启系统
03.init 0
关机
04.history
查看历史命令
05.who whoami 当前用户
显示在线登陆用户
06.hostname
vi /etc /sysconfing/network 修改主机名
显示主机名
07.netstat
查看端口使用情况
一般使用netstat -ntlp
08.cut
分割 echo “hello world” | cut -d " " -f 2 (通过空格分割,显示第二列)
3就是第三个 -d指定引号内通过什么分割
09.sort
排序 cat /etc/passwd | sort 字典排序
10.uniq
去重cat /etc/passwd | sort|uniq (去重 依赖于sort)
11.Ctrl c
强行停止进程(Ctrl键与C同时按)
12.tree
以树状形式显示目录结构
没有显示 先下载yum install -y tree
13.定时任务
crontab -e 编辑定时任务
crontab -l 列出定时任务
crontab -r 删除定时任务
* * * * * command(命令)
分 时 日 月 周 命令
除了数字还有几个个特殊的符号就是"*"、"/“和”-"、",",*代表所有的取值范围内的数字,"/" 代表每的意思,"/5"表示每5个单位,"-“代表从某个数字到某个数字,”,"分开几个离散的数字。
四.Linux高级命令
1.awk
awk 有几个常用的参数。
-F 指定分隔符,并且使用正则表达式
$0 可以输出一行内容
$1 $3 … 这些是根据指定分隔符,分别获取对应参数的。
NF 字段数量变量
NR 每行的记录号,多文件记录递增
if语句 == != > >= < <= && ||
多条命令使用分号分隔
2.sed
可以使用正则表达式
参数:
-n 仅显示script处理后的结果
-i 直接修改文件内容
-e 选项允许在同一行里执行多条命令
命令:
s 替换指定字符
d 删除,删除选择的行 [删除空白行,指定删除行]
g 表示行内全面替换 [可以使用/Ng从第N处开始替换]
替换字符串中的字符 命令s 用法
3.seq
-f和-w不能同时使用
-f 格式化输出
创建多个文件夹或者文件。目的是为了方便测试或使用
-w 等宽输出
-s 使用指定的字符串分割数字,默认是\n
4.高级命令及sort的总和实例
排序(数字默认升序):