linux常用命令总结
开关机、重启、注销
#立即关机
#重启
#注销当前用户
开机启动脚本加入位置 /etc/rc.d/rc.local
wc统计
cat a.txt | wc -l 统计文件中行数
cat a.txt |grep ‘nihao’ | wc -l 统计你好出现行数
wc -c file.txt 统计文件中的字节数
wc -m file.txt 统计文件中的字符数
wc -w file.txt 统计文件中的单词数
wc -L file.txt 统计文件中最长行的宽度或长度
重定向,就是把大于号前面的内容写入文件中
例如:
hhh > a.txt 就是把“hhh”写入到a.txt文件中,会覆盖原文件中内容;
hhh>> a.txt 这个是追加hhh进入a.txt文件中,不覆盖原来的内容,
一般在清楚日志时候用,>assert.log ,大于号前面是空,然后就可以把文件清空了
上传下载文件,这两个命令需要安装,不是自带的命令
#yum -y install lrzsz
#rz和sz都只能操作文件,不能操作文件夹
#上传
#下载文件
添加、删除用户、切换用户
#添加用户
#删除用户
#切换用户
#普通用户获取root用户权限,在命令前面加上sudo即可
#查看当前已经登录的用户
#查看当前用户
ip地址、系统信息
#看ip地址
#看ip地址,有的系统没有ifconfig命令
#看当前系统是位数和内核信息
vi编辑器
#编辑file这个文件,具体里面的操作看 http://www.nnzhp.cn:80/archives/484
常用命令
#查看某个目录下内容
#显示/tmp目录下的内容,如果后面没有跟路径则显示当前目录下的内容
#详细信息显示
#显示所有文件,包括隐藏文件
#详细模式显示所有文件
l
#进入某个目录
tmp
#返回上一级目录
#返回上两级目录
cd ~ 返回家目录
#复制,用的时候全部加上 -rf参数,什么都能复制
tmp
#移动文件,也有重命名的作用,
#改名和移动区别是,如果后面是一个文件名,那么就是改名,如果后面写的是一个路径,那么就是移动
#移动a.txt到/tmp目录下
#把b.txt改成my.txt
#删除文件、文件夹,删除后不能恢复,用的时候用加上 -rf 参数就什么都能删掉了
txt
#显示当前绝对路径
mkdir
#创建文件夹
查看文件内容
txt
c退出
txt
q退出
log
c退出
log
#从末尾第50行开始看
创建空文件,如果文件存在的话,那么会更新文件的修改日志
txt
文件占用大小
#查看当前目录下所有文件占用的空间
#查看tmp目录下占用的大小
查看当前磁盘占用空间
lh
/文件夹修改权限
chmod加权限有两种方式,数字方式和文本方式
4
2
1
#7 = 4+2+1就是可读可写可执行的权限,数字就是把那几位加起来
文本模式
#加上执行权限
#加上可读可写可执行的权限,也就是和777一样
7呢,第一位代表这个文件所属的用户的权限,第二位代表本组的用户的权限,第三位代表其他用户的权限
文本模式想分别赋权限的话,就得指定到底是哪个组的
所有者
同组
其他以外的人;
所有
增加权限
去掉权限
/文件夹赋权限
#为文件abc及其子目录底下的所有文件的全体用户增加x权限
#为abc文件的用户拥有者去除x权限
chown user:[group] a.sh 改变文件所属用户和组
chown -R user:[group] dir 改变文件夹所属的用户和组
chgrp group a.sh 改变文件所属组
查找文件内容
#从a.txt中查besttest
#排除besttest
find 查找文件
find /name 'tomcat**' 查找路径下tomcat文件或文件夹
查看进程
//man.linuxde.net/ps
ps ux 显示所有正在运行的应用及应用的pid
ps来看一个进程是否启动
#ps -ef查到所有的进程,然后从所有的进程里面找带有java的,“|”是管道符,可以理解为把ps -ef命令的
grep从里面搜索。
#查询mysql相关进程
查询进程的时候
只有一条,就代表你要查询的这个进程不存在
#这一条命令就是3个连着用了,找到httpd之后,再把grep本身的这一条给排除掉
Windows里面强制给他关掉
#杀掉这个这个进程,pid可以用ps -ef查到
c退出
查找文件
#第一个参数是路径,-name是按照文件名来查询,这个是从根目录下开始查找名字为a.txt的文件
用来打包、解包
#把my这个文件夹压缩并打包成为my.tgz
#把my这个文件夹打包成为my.tar,不加z这个参数就只是打包,不压缩
#把my这个文件夹压缩并打包为my.tar.gz,后缀两种都行,你用tgz和tar.gz都可以
#解包,解开的时候只需要这一种姿势,都能解开
#tar解包的时候可以截后缀为 .tgz .tar.gz .tar这三种的
gz结尾的压缩包
#解压
#压缩,压缩完之后原来的文件就没有了
zip包
//man.linuxde.net/zip
//man.linuxde.net/unzip
安装软件
debian是没有的
#安装nginx
yum list|grep xxx 查询你需要安装的软件包有没有
yum list installed |grep xxx 查询软件包是否已经安装了
yum remove xxx 卸载
make 编译安装
首先包装电脑上已经安装了gcc,如果没有,yum -y install gcc
第一步:./confige --prefix=/path -with-xxx=/path path安装路径, with是依赖的安装包
第二步:make
第三步:make install
rpm安装
rpm 安装rpm包
rpm -e **.rpm 卸载安装包
rpm -qa|grep *** 查询已经安装的软件
//man.linuxde.net/rpm
yum或rpm安装方式是,可执行命令都在/usr/bin,配置文件都在/etc/xxxx
定时任务
crontab任务,会进入vi模式下,这个时候写执行时间* * * * * 对应是分钟,小时,天,月,年,后面写脚本
//man.linuxde.net/crontab 看下面的实例
shell脚本
shell脚本
sh就可以了
sh
后台执行程序:
nohup ./start.sh & 后台运行,窗口关闭,程序不会被kill
给长命令起别名
alias gg=‘cd’
gg /tmp
跳入tmp文件夹下
当输入gg时,tiao
如果想让自己命名的命令永久生效,需要修改.bashrc 文件,添加例如:alias gg=‘cd’ ,还需要重新加载下bashrc文件环境变量
source .bashrc
查看端口使用情况:
windows下查看端口是否被占用 netstat -ano|findstr 9090
unix 下 查看端口占用进程lsof -i :8080
netstat -nulpt 该命令是查看当前所有已经使用的端口情况,lsof -i 也是查看所有已使用端口占用情况
netstat -anp|grep 3306
主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了
多行中同时输入某内容,例如多行加入注释,五步完成:
- vim
- ctrl+v
- 选中要输入内容的多行
- shift+i,然后输入内容例如#
- 按esc