命令模式切换到编辑模式:
a:点击a会从当前位置的下一个字符开始编辑
i:点击i会从当前位置开始编辑
o:点击o会从当前位置的下一行起始位置开始编辑
编辑模式切换到命令模式:esc
命令模式:
定位到文件的最末端 shift+g
退出(文件没发生更改)vi :q
不保存退出(文件发生更改) :q!
保存退出 :wq :x
保存 :w
显示行号 :set nu
不显示行号 :set nonu
从上往下查找 /xx,查找下一个按n
从下往上查找 ?xx,查找下一个按n
快速到第一行 :1
快速到第n行 :n
删除一行 dd
删除单个字符 x
撤销 u
重复上一次操作 .
复制一行 yy
复制3行,就3yy,复制8行就8yy
粘贴:想粘贴的位置按下p粘贴
把光标快速移动到行尾 $
把光标快速移动到行首 0
查看ip:ifconfig或ip a
查看文件内容:
cat a.txt # cat适合看文件内容少的
more a.txt # more可以分屏显示,空格键:下一页,b:上一页,Enter:向下一行,q:退出,-n:每页行数(可以理解为每按一下空格,跳转的行数) ,+n:从第n行开始显示
less a.txt # less分屏显示,可以支持查找,空格键:向下滚动一页,Enter:向下滚动一行,pageup:向上滚动一页,pagedown:向下滚动一页,?xx:向上搜索字符串,/xx:向下搜索字符串,q:退出
tail -f a.txt # 显示a.txt文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上,退出,按下CTRL+C
tail -n 20 a.txt # 显示a.txt文件最后20行
head -2 a.txt # 显示开头2行
alias m='mysql -uroot -p123456' # alias起别名,以后用m就可以代替后面那句,如果想要命令永久生效,把alias m='mysql -uroot -p123456'放到家目录的.bashrc文件里,然后source .bashrc
unalias # 取消别名
linux路径
. 当前路径
.. 上级路径
../.. 上级的上级路径
cd ~ 返回到root目录
cd - 回到刚才工作的路径
cd ../../ 回到上两级目录
pwd 查看当前工作目录
ll或ls -al 查看当前目录下的文件夹和文件(包括隐藏的),以.开头的都是隐藏文件,还会显示total,目录以d开头的
ls 查看当前目录下的文件夹和文件,不显示隐藏的
ls -a 显示当前目录下的文件夹和文件(包括隐藏的)
cp -rf test/ newtest 将当前目录test/下的所有文件复制到新目录newtest下,-f是覆盖已经存在的目标文件而不给出提示
mv 移动或改名
mv besttest.bak / 移动到根目录下
mv besttest.bak test.bak 将 besttest.bak改成test.bak
mkdir 创建目录
touch filename或vi filename 创建文件,如果已存在这个文件touch完会更新时间
rm 删除文件,加上-f不给出提示,直接删除
rm –rf 强制删除当前目录下的所有文件和子目录
环境变量
修改环境变量的方式有两种:
1、修改/etc/profile
2、修改用户目录下的.bash_profile
使用export声明变量,如export JAVA_HOME PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH,如果有多个值时使用 : 来分隔,export PATH=$PATH: /tmp,想把哪个目录加到环境变量就把目录写到export PATH=$PATH: 后面,同时需要注意如果修改的是PATH系统环境变量需要把系统环境变量加上,修改完环境变量后,需要使用source /etc/profile或者source .bash_profile来刷新环境变量
查询磁盘空间
df -h 显示已经挂载的分区列表及各分区的大小,df -lh 查看当前系统磁盘使用情况,df -h和df -lh显示的内容一样
du -sh dir1 估算目录或文件dir1已经使用的磁盘空间,du -sh * |sort -n当前目录下所有目录及文件按照升序排序,du -sh * |sort -rn是降序
quota 设定限制用户使用磁盘空间的命令
文本方式:
chmod a+rwx # 加上最高权限
chmod a-x # 减去执行权限
a代表所有人,u代表归属用户,g代表本组用户,o代表其他用户
数字方式:
r=4,w=2,x=1
rwx:4+2+1,r-x:4+1,rw-:4+2
-R,递归,主要用于一个目录,把test目录下面的所有文件或目录赋权限
chown user:[group] a.txt 将文件a.txt 的拥有者设为user,群组设为group
chown -R user:[group] dir 将目录dir的拥有者设为user,群组设为group
find命令
find / -name mysql -name后面必须完全匹配
find /opt/ | grep mys 不用完全匹配
which java 找到当前生效的java的位置
whereis java 只能用于程序名的搜索,而且只搜索二进制文件
rpm -ivh xx.rpm rpm 安装包安装文件
rpm -e xx.rpm 卸载rpm方式安装的文件
rpm -qa 查询已安装的软件
安装:yum install xxx
安装rz和sz命令:
yum -y install lrzsz(如果这个命令报错,可以使用rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm命令,lrzsz-0.12.20-27.1.el6.x86_64.rpm安装包自己下载)
-y:同意所有默认配置项
yum list | grep xxx 查询你需要安装的软件包有没有
yum list installed | grep xxx 查询是否安装过这个软件
yum remove xxx 卸载
编译安装:
首先保证安装了gcc,如果没有安装可以使用yum -y install gcc*
第一步:./configure --prefix=/path -with xxx
第二步:make
第三步:make install
打包:tar –czvf xx.tar.gz dir1 创建一个gzip格式的压缩包
解压:tar –zxvf xx.tar.gz
打zip包:zip aa.zip aa
解压缩:unzip aa.zip
打gz包:gzip xx,打成一个gz包
解压缩:gunzip xx.gz
重定向:cat nihao > xiaobai,nihao是文件名,如果xiaobai文件里有内容就会把之前的内容覆盖,cat nihao >> xiaobai,两个>就会在xiaobai文件末尾追加,> xiaobai是把空内容存到xiaobai里,可以把xiaobai文件清空的意思
1.覆盖写入:echo "日志内容" > 文件
2.追加写入:echo "日志内容" >> 文件
后台启动:nohup 命令 &
虚拟机图形界面切换到命令行的命令是:Ctrl+Alt+F2
onboot是指在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯
BOOTPROTO是获取的IP地址类型,static和none为静态地址,dhcp为动态获取IP地址
linux格式化的时候,流行的格式为ext2和ext3
常用系统信息命令
cat /etc/issue 查看虚拟机操作系统
arch显示机器的处理器架构,要是没有这个命令通过yum install arch安装,如果显示i386或i686说明架构是32位
i386适用于intel和AMD所有32位的cpu以及via采用X86架构的32的cpu
i686只是i386的一个子集,支持的cpu从Pentium 2(686)开始,之前的型号不支持
uname -m等同于arch
uname -r显示正在使用的的内核版本
cal 2018显示2018年的日历表
date 120122522018.00 设置日期和时间 月日时分年.秒
显示当前日期:date
cat /proc/cpuinfo 显示cpu info的信息
cat /proc/meminfo 校验内存使用
cat /proc/interrupts 显示中断
cat /proc/version 显示内核的版本
cat /proc/mounts 显示已加载的文件系统
cat /proc/net/dev 显示网络适配器及统计
cat /proc/swaps 显示哪些swap被使用
查看当前用户:输入id,whoami
重启:reboot,init 6
关机:shutdown -h now,init 0
延时60分钟关机:shutdown -h 60
添加用户:useradd ssj
为新用户设置密码:passwd ssj
切换用户名:su - ssj,普通用户切换到root需要密码,root用户切换到普通用户不要密码,中间有-会重新加载用户的环境变量,没有则不加载环境变量
删除用户的家目录和文件:userdel -r ssj
添加组:groupadd ssj,也可以在添加用户时添加组,如useradd -g ssj1 ssj2,ssj1是组名,ssj2是用户名
查看组信息:grep ssj /etc/group
添加用户到组两种方式:usermod -G ssj sun,gpasswd -a sun2 ssj,ssj是用户,sun,sun2是组名
修改sun的用户名为sun2:usermod -l sun2 sun
grant select,insert,update on bugfree.* to 'tester' @ '%' identified by '123456';
grant all on *.* to 'andashu'@ 'localhost' identified by '123456' with grant option;
grant all on *.* to 'andashu'@ '%' identified by '123456' with grant option;
all代表所有的权限
第一个*代表所有数据库,第二个*代表所有表
andashu代表用户
localhost代表用户ip
123456代表密码
with grant option表示有执行grant语句的权限
取消授权:all包括select,insert,update
revoke all on *.* from dba@localhost;
revoke select on *.* from andashu@localhost;
修改完权限后要只执行这个命令来刷新权限:flush privileges,存在内存里重启电脑数据就没了,数据放在磁盘里才持久化
1是父进程,1399是子进程,如果把下面用户的子进程1449kill掉,1399这个进程还在,因为父进程1还在,父进程守护子进程的
来源:https://www.cnblogs.com/laosun0204/p/8677834.html