linux操作

对着背影说爱祢 提交于 2019-12-20 16:12:59

命令模式切换到编辑模式:

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还在,父进程守护子进程的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!