linux常用命令汇总
文件操作
-
创建文件
touch a.avi 创建一个空文件
echo "itcast " > itcast.txt 把“>”左边的输出放到右边的文件里去 (>>表示可以追加原来文件内容)
vi blabla.txt 用文本编辑器编辑一个文件并且保存( :wq 保存并退出 :q! 强制退出 )
-
移动文件、修改文件名
mv a/1.txt b/2.txt (移动文件的同时还修改了文件名)
-
拷贝文件
cp srcFile destFile
如果destFile目录不存在,则可以直接使用 cp -r srcFile destFile
如果destFile目录已存在,则需要使用 cp -r srcFile /. destFile
scp leaf6-isp··.zip root@192.168.19.117:/opt/data/wx
把本地文件拷贝到远程服务器
-
查看文本文件内容
cat log.a.txt 一次性显示整个文件内容
more a.txt 可以分页看(翻页:空格 往回翻:b 退出: q或者 Ctrl+C)
less a.txt 搜索: /关键字 翻页:空格 往回翻:↑ 往下翻:↓ 跳到最前 :g 跳到末尾:G
tail -10 a.txt 查看文件的尾部的10行
tail -f user.log 实时刷新显示文件的尾部
head -20 a.txt 查看文件的头部20行
-
查看文件大小
du -h 文件名 ; ls -h 文件名
-
文件归档压缩
tar -cvf testdir.tar testdir/ 打包归档
tar –xvf testdir.tar 解包
-c :创建一个打包文档 -v:显示打包的进度 -f:指定打包/解压文件 -x:还原文件
-
压缩/解压
gzip testdir.tar
gzip –d testdir.tar.gz
-d:解压 -v:显示指令执行过程 -V:显示版本信息
-
归档并压缩/解压
tar -czvf testdir.tar.gz testdir/ 归档并压缩
tar -xzvf testdir.tar.gz -C Downloads/ 解压到指定的Downloads目录下
zip 【-r】 test.txt.zip test.txt 压缩
unzip test.txt.zip 解压
-z:通过gzip指令处理文件;
-r:递归压缩子目录下所有文件
-
jar -cvf ROOT.war ./ROOT/* 打war包
unzip ROOT.war -d ROOT解压war文件到指定的文件
-
文件权限管理
linux文件以及目录的权限
读(r) :用户是否有权力读文件的内容;
写(w) :用户是否有权利改变文件的内容;
执行(x) :用户是否有权利执行文件;
Linux的文件系统能够将操作文件的用户分为3类:
拥有者(u) 所属组(g) 其他用户(o) 所有人(a)
chmod [-R] u+rwx,g-rx,o=rx a.txt 给文件a.txt赋予相应的权限
sudo chmod -R 777 /opt/Tomcat
+:添加权限 -:删除权限 =赋予给定权限并取消其它权限
也可以用数字表示权限,等效 于chmod [-R] 755 file
在linux权限管理中,r对应4,w对应2,x对应1
更改文件或目录的属主(拥有者)和属组:chown [-R] 用户或组 文件
改变文件或目录所属的组 :chgrp [-R] group filename
[-R]:表示递归修改权限 ,修改某个目录下所有文件及文件夹
参考:https://www.cnblogs.com/Berryxiong/p/6193866.html
文件夹操作
ls /path/ 查看目录信息
-l 查看详细信息 –a 查看所有内容 --help 查看所有参数
pwd 查看当前所处目录的绝对路径
cd /path 切换目录 切换到用户主目录 :cd /
mkdir 【参数】 /a/b/c 创建文件夹 参数: -p 文件夹的父目录不存在,则自动创建
rmdir [参数] 删除空文件夹 参数:-r 删除非空文件夹
删除文件
rm filename (rm -r 删除文件夹 rm -rf 强制删除文件或文件夹(无法找回))
用户及用户组管理
-
添加用户
添加用户useradd aaa
设置密码 passwd 1234
参数手册:
-u 指定组ID -g 指定所属的组 -G 指定多个组,用逗号“,”分开 -c 用户描述(comment)-e 失效时间
-
删除用户
userdel yun12 ----这样删除的时候,用户的主目录会被保留
userdel -r yun12 -----删除用户的同时删除用户的主目录
-
修改用户
**指令:**usermod
参数:
-l 修改用户名 (usermod -l a b(b改为a)
-g 添加组 -d 修改用户的宿主目录 -G添加多个组 -L 锁定用户账号密码(Lock)-U 解锁用户账号
-
创建用户组
groupadd java
-
删除用户组
groupdel bigdata(作为某用户的主组primary group 不可删)
-
修改用户组属性
groupmod –n newname grpname
-
查看用所属的组
groups itcast
网络命令
- 列出系统所有应用服务状态 :service --status-all
- 查看指定服务运行状态:service servicename status
- 启动服务:service servicename start
- 停止服务:service servicename stop
- 列出所有服务的随机自起配置:chkconfig --list
- 关闭服务的随机自起:chkconfig servicename off
- 开启服务的随机自起:chkconfig servicename on
常用示例:
-
重启网络服务 service network restart
- 停止httpdservice httpd stop
- 启动 httpdservice httpd start
-
关闭防火墙服务 service iptables stop
-
关闭防火墙自动启动 chkconfig iptables off
查看网络连接信息 指令:netstat
netstat常用示例:netstat -natp || netstat -nltp || netstat -naup
常用参数解释:
-a 显示所有连接和监听端口
-l 只显示监听进程
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-p 显示建立相关链接的程序名
查看防火墙状态 firewall-cmd --state
开启防火墙:firewall-cmd start
防火墙重启:firewall-cmd --reload
#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all-zones
系统管理
查看磁盘/内存使用信息
- df -h 查看磁盘空间状态信息
- du -sh [文件目录] 查看指定目录下所有子目录和文件的汇总大小
- free 查看内存使用状况
进程管理
- top 查看实时刷新的系统进程信息
- ps -ef 查看系统中当前瞬间的进程信息快照
- ps -ef | grep myshell.sh 搜索myshell进程的信息
- kill -9 pid 杀掉进程 (-9 表示强制杀死)
搜索指令
grep [参数] 内容
参数: -r 递归搜索子目录 -l 只列出有匹配行的文件名 -n 列出匹配行的行号 -d skip 不搜索子文件夹
常用grep跟其他命令组合使用 示例: service --status-all | grep ‘httpd’ || netstat -nltp | grep ‘22’
find 根据文件名,文件所有者,创建时间,文件大小,文件类型,文件权限信息等条件来查找匹配的文件
按照文件名称查找(可支持正则表达式)
find ./ -name ‘*.txt’ || find ./ -name ‘install’
按照文件类型查找
find ./ -type f
find ./ -type l
whoami 查询当前登陆者的身份
which 查询指定命令的$PATH路径
locate + 文件名 全局查找文件
其他
wc
统计文本信息(行数,词数,字符数) wc -c/w/l/
date 查看或者修改系统的日期和时间
echo 输出字符串或者变量的值
rpm -qa | grep httpd #[搜索指定rpm包是否安装]
查看内存、磁盘信息
top 查看内存整体使用情况
free -h 查看内存整体使用情况 -h 以适合人类可读的方式展示
df -h 查看磁盘各分区大小、已用空间等信息
du -sh 【指定目录】 统计指定目录下 磁盘总体占用 -s :总数 -h : 以K ,M G为单位
du --max-depth=1 -h 【指定目录】 统计指定目录下 各个目录占用情况
redis
注册windwos服务:
redis-server.exe --service-install redis.windows.conf --loglevel verbose
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
安装成功后去服务界面启动 “Redis” 这个服务就可以了。
启动服务时需要将打开的redis(redis-server redis.windows.conf) 服务端窗口关闭。 如服务启动不成功可参考
linux 安装 redis
1.下载tar包 并解压
2.进入安装目录 执行 make
3…/redis-server redis.conf 启动
1.ps -aux | grep redis 2.ll /proc/5393/cwd 查看 redis 目录
./redis-server redis.conf 启动
./redis-cli -h 127.0.0.1 -p 6379
auth “密码” 授权访问redis ( auth tianqueshuaige123)
select index :切换redis数据库
flushdb:清空所有的key
zookeeper
ps -aux | grep ‘zookeeper’
查看 zookeeper 的端口号命令 netstat -anp|grep 2181
启动 ||停止||查看 ./zkServer.sh start || stop ||status [myzoo.cfg]] &
Linux 修改了jdk之后,不生效问题
1.安装jdk1.8。
2.修改/etc/profile中的JAVA_HOME为新的jdk路径,并执行source /etc/profile。
3.执行 java -version,这个时候显示jdk还是1.7版本。
4.执行:
which java
which javac
将以上两条指令执行结果中的java、javac文件删除。
5.执行:
ln -s $JAVA_HOME/bin/java /usr/bin/java
ln -s $JAVA_HOME/bin/javac /usr/bin/javac
6.执行:
source /etc/profile
7.执行java -version,即可看到jdk切换为1.8版本。
注:
1.如果执行报错java文件没有权限,就先给java文件设置一下权限:chmod u+x java。
2.jdk 11 没有jre 可以进入 /jdk11/bin/ 执行 sudo ./jlink --module-path jmods --add-modules java.desktop --output …/jre
nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 启动
./nginx -t测试配置文件修改是否正常
./nginx -s reload 重新加载
sudo ./nginx -s reload //没有加载权限的情况下 采用此方式重新加载
memcache
memcached -d -m 50 -p 11211 -u root 启动
-d:启动一个守护进程,
-m:分配给Memcache使用的内存数量,单位是MB,默认是64MB,
-u:运行Memcache的用户
-l:监听的服务器IP地址
-p:设置Memcache监听的端口,默认是11211注:-p(p为小写)
-c:设置最大并发连接数,默认是1024
-P:设置保存Memcache的pid文件注:-P(P为大写)
-h 显示帮助
telnet ip11211 连接服务端
flush_all 清除缓存
ctrl+] quit 退出连接
kafka
nohup ./bin/kafka-server-start.sh ./config/server.properties & 启动
查看进程和端口:
根据进程pid查端口:lsof -i | grep pid
根据端口port查进程:lsof -i:port
根据用户查看进程和端口号:lsof -i|grep user
netstat命令根据进程pid查端口:netstat -nap | grep pid
根据端口port查进程 netstat -nap | grep port
防火墙
查看防火墙状态 firewall-cmd --state
开启防火墙:firewall-cmd start
防火墙重启:firewall-cmd --reload
#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all-zones
参考地址:https://www.cnblogs.com/shawhe/p/9485746.html