Linux常用命令

一、用户管理

1、查看用户信息

  id  查看当前用户信息

  whoami  查看当前用户

  who    查看当前已登录的用户

  w       查看当前已登录用户以及他们在做什么

2、添加用户

  useradd xiaoxi  添加用户名为xiaoxi的用户,默认家目录在/home/目录下 

  useradd -g test  xiaoxi2  添加用户名为xiaoxi2,组名称为test的用户

  passwd xiaoxi  设置或重置密码

3、切换用户

  su xiaoxi  切换到用户名为xiaoxi的用户

  su - xiaoxi 切换到用户名为xiaoxi的用户并重新加载用户的环境变量

  sudo  获取超级用户权限

  添加普通用户sudo权限:vim /etc/sudoers文件
    找到 root  ALL=(ALL)  ALL
    增加 xiaoxi ALL=(ALL)   NOPASSWD:ALL

4、删除用户

  userdel xiaoxi  删除用户

  userdel -r xiaoxi  删除用户同时删除他的家目录

二、组管理

  groupadd  test  添加组

  groupdel  test  删除组,如果该组下面包含用户,则需要把该组下的用户删除或指向别的组

三、文件管理

1、查看文件、目录

  cd ..  回到上一级目录

  cd ../../  回到上两级目录

  cd ~  回到家目录

  cd -  返回上一次所在的目录

  pwd  查看当前路径

  history  查看历史命令

  ls  查看当前文件及目录

  ll  查看当前文件及目录(详细)

  ls  -a  查看当前所有文件及目录,包含隐藏文件

  cat  查看文件(显示全部结果,适合查看较小文件)

  cat xx > new_xx  覆盖原有的内容 
  cat xx >> new_xx  追加

  more  查看文本,空格翻页,回车一行一行显示,支持查看当前进度

  less  查看文本,空格翻页,回车一行一行显示,支持当前页搜索

  tail -f  动态查看文本,一般用户查看日志

  tail -500   查看最后500行

  tail -500f  动态查看最后500行

  find /  -name  myslq  从/目录开始查找文件、文件夹

  &&  连接两条命令,上一条命令执行成功,再执行下一条

  ||  连接两条命令,无论上一条命令是否执行成功,都会执行下一条

  wc -l  统计行数

  ln test.sh  test2.sh  创建硬链接,删除test.sh文件,test2.sh不受影响

  ln -s  /root/test.sh  /home/xiaoxitest  创建软链接,相当于Windows快捷方式,删除test.sh,/home/xiaoxitest目录下的test.sh也无法执行

2、创建文件、目录

  touch  创建文本文件

  mkdir  创建目录

  mkdir -p  aa/bb/cc 创建多级目录

3、删除文件、目录

  rm -rf  删除文件或目录

  rmdir  只能删除空目录

4、移动、重命名

  mv xiaoxitest  test      把xiaoxitest重命名为test

  mv xiaoxitest  /home  把xiaoxitest移动到home目录下

5、复制

  cp  xiaoxitest /home  把xiaoxitest文件复制到home目录下

  cp  xiaoxitest -r /home  把xiaoxitest文件夹复制到home目录下

6、权限操作

  chmod  u+x  给自己加上执行权限

  chmod  g+w   给本组用户加上写权限

  chmod  o+r  给其他用户加上读权限

  chmod  +rwx  给所有用户加上读、写、执行权限

  chmod  a+x  给所有用户加上执行权限

  去掉权限:把+替换-

  r代表读  w代表写  x代表执行    

  r=4  w=2  x=1  数字模式代表的权限

  chmod 751 xiaoxi.txt  给自己加上读、写、执行权限,本组用户加上读、执行权限、其它用户加上执行权限

  chmod -R  777 file  如果想给文件夹(包含子文件夹)加上相同的权限,需要加上 -R 参数

  chown  xiaoxi test.txt 更改test.txt文件的所有者为xiaoxi用户

  chgrp   xiaoxi  test.txt 更改test.txt文件的所属组为xiaoxi组

四、VI编辑器

1、编辑(默认进入命令模式)

  i   从当前位置开始编辑

  o  从当前位置的下一行开始编辑

  a  从下一位置开始编辑

  Esc  切换到命令模式

2、保存和退出(命令模式下)

  :q  没有修改的话直接退出

  :q!  若已经修改过则不保存强制退出

  :w  保存不退出

  :wq  保存并退出

  :x  保存并退出

3、查找(命令模式下)

  /test  从文件头开始查找

  ?test  从文件末尾开始查找

  n  查找下一个

  N  查找上一个

  :set nu  显示行号

  :set nonu  取消显示行号

  :5  快速定位到某一行

  Shift+g  快速到文件最后一行

  $  回到当前行尾

  0  回到当前行首

4、删除(命令模式下)

  x  删除单个字符

  dd  删除整行

  5dd  删除5行

5、复制、粘贴(命令模式下)

  yy  复制当前一整行

  5yy  复制光标当前到之后的5行

  p  粘贴

  .  重复上一次操作

  u  撤销

6、替换字符串

  :%s/test/new_test/g  把test替换为new_test

  find -name database.properties | xargs sed -i 's/172.16.105.1/172.16.0.2/g'

7、批量更改文件格式

find . -name "*.sh" | xargs sed -i 's/ $//g'

8、批量更改JVM内存

find ./ -name  start.sh | xargs sed -i 's/-server -Xms256m -Xmx256m -XX:MaxPermSize=128m/-server -Xms128m -Xmx128m -XX:MaxPermSize=32m/g'
 

五、系统管理

1、查看磁盘、文件占用大小

  df -h  查看当前磁盘使用率

  du -sh  查看当前目录占用空间

  du -sh  xiaoxi.sh  查看当前文件占用空间

2、查看进程、端口

  ps  -ef | grep mysql  查看mysql进程

  ps -ef  | grep mysql | grep -v grep | awk '{print $2}' | xargs kill -9 查找mysql进程并把所有mysql进程杀死

  kill -9  pid  强制杀死进程,后面可以跟多个pid,空格隔开

  top  动态显示进程以及系统运行状态

  nohup ./jmeter-server &  在后台运行某个程序

  netstat -nlpt|grep 18983  查看这个进程号端口号是多少

  netstat -nlpt|grep 8080    查看这个端口号有没有被占用

3、开关机、注销、重启

  shutdown -h 30  定时30分钟后关机

  shutdown -h now  立即关机

  shutdown -r 30 '我要30分钟后重启'  定时重启并输出输入内容显示到屏幕上

  init 0  立即关机

  reboot  重启

  exit  注销

4、网络

  ip a  查看当前ip

  ifconfig  查看当前ip

  dhclient  自动获取IP

  service  iptables stop  关闭防火墙

  chkconfig iptables  off  永久关闭防火墙

  yum -y install ntpdate ntp  安装网络时间

  ntpdate -s time.windows.com  同步网络时间

 

六、软件安装、下载、压缩、解压

1、上传、下载

  ftp工具:直接拖拽、什么都可以上传,要sftp协议

  yum -y install openssh-clients  安装rz、sz命令,rz、sz 命令可以直接上传下载,但是它不能上传文件夹
 
  scp -P 远程端口 -r  文件名  远程用户@远程IP:绝对路径         远程拷贝

2、压缩、解压文件

  tar cvf linux.tar linux    直接打包,前面是包的名字,后面是你要给谁打包

  tar zcvf linux.tgz linux  把linux文件压缩为linux.tgz文件

  tar xvf linux.tar linux    解压,不管你有没有压缩都能解开

  zip linux.zip linux     把linux文件或文件夹打包为linux.zip

  unzip linux.zip -d  /opt/  把linux.zip解压到/opt/目录下,不加-d 默认解压到当前目录下 

  gzip file  只能对文件打包,打包完原来的文件就没有了

  gunizp file.gz  解压缩后,原来的压缩文件没有了

3、软件安装

  rpm -qa | grep mysql  查看是否安装mysql软件

  rpm -ivh  xx.rpm  安装rpm软件包

  rpm -e  xx.rpm  卸载rpm软件包

  rpm -Uvh xx.rpm  升级rpm软件包

  yum  -y install  xxx  yum在线安装

4、源码安装

  ./configure  --prefix=/path  生成编译文件

  make  编译

  make install  把编译好的文件放到你刚才指定的目录下

5、环境变量

  /etc/profile  系统环境变量

  ~/.bashrc  用户环境变量

  export PATH=$PATH:  系统默认环境变量

  source /etc/profile  使系统环境生效

  source ~/.bashrc  使用户环境变量生效

 七、防火墙

Centos6

service iptables status #查看防火墙状态

service iptables stop #停止防火墙

service iptables start #启动防火墙

service iptables restart #重启防火墙

chkconfig iptables off #永久关闭防火墙

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT  或者 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放80端口

vim /etc/sysconfig/iptables  #编辑文件添加,保存后重启防火墙

iptables -A INPUT -p tcp --dport 60000:65534 -j ACCEPT  #开放60000到65534之间的端口

/etc/rc.d/init.d/iptables save  #保存开放端口

Centos7

systemctl start firewalld  #开启防火墙

firewall-cmd --permanent --add-port=2181/tcp  #开启端口

firewall-cmd --zone=public--add-port=4400-4600/udp --permanent  #批量添加dup区间端口

firewall-cmd --zone=public--add-port=4400-4600/tcp --permanent  #批量添加tcp区间端口

firewall-cmd --permanent --remove-port=2181/tcp  #关闭端口

firewall-cmd --reload  #重启防火墙

firewall-cmd --zone=public --list-ports  #查看端口列表

systemctl stop firewalld  #关闭防火墙

systemctl enable firewalld  #设置开机启动

sytemctl disable firewalld  #停止并禁用开机启动

systemctl status firewalld 或者 firewall-cmd --state  #查看防火墙状态

原文地址:https://www.cnblogs.com/xiaoxitest/p/6228023.html