首页 > 代码库 > Linux基础命令

Linux基础命令

用户管理

id:可以查看当前用户

whoami:查看当前的用户

who:看当前已经登录的用户

w:也可以看

添加用户  

useradd zhaoyuanyuan   添加用户

useradd -g groupname uername

passwd zhaoyuanyuan  

用户默认的家目录就是在/home/目录下

给添加的用户加密码、还可以重置密码

~ 波浪线代表家目录:

 快速回到家目录:

 cd ~

 直接cd

切换用户:

su username

su - username

区别就是su - 会重新加载用户的环境变量

sudo 获取超级用户权限的

添加普通用户sudo的权限

/etc/sudoers文件

找到 root ALL=(ALL) ALL

username ALL=(ALL) NOPASSWD:ALL

删除用户

userdel username

userdel -r xw 删除用户的时候也删除它的家目录

   组管理

  添加组

  groupadd name

  删除组

  groupdel name

   对目录(文件夹)的操作

  pwd 显示当前你所在路径

  cd 进入哪个目录(文件夹)

  创建文件夹 

  mkdir

  mkdir -p /tmp/besttest/blk

  删除文件夹 

 

  rm -rf /

  rmdir:只能删除空文件夹

  查看文件下面的东西:

  ls -l == ll

  ll

  所有者的权限 同一组的权限 其他用户的权限

  rw-          r--          r--

  ls -a

  改名

  mv besttest linux

  mv besttest /tmp

  mv如果后面跟的是文件名改名,如果后面跟的是路径是移动

  复制

  cp ax /tmp/ 复制文件

  cp -r linux /tmp/ 复制文件夹

  cp -rf linux

  alias wgy=‘cd /opt/lampp‘

  永久生效的话,加到/etc/profile这个里面

  /顶级目录,相当于Windows的我的电脑

  相对路径:相当于当前路径

  绝对路径:实际的路径

  cd ..#回到上一级目录

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

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

加权限:

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

chmod o+x  其他用户

chmod g+x  本组用户

chmod u+x  自己

chmod +rwx 所有

chmod a+x 所有

去掉权限,就是把+变成-

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

chmod 755 file

如果加权限的是一个文件夹的话要加 -R 

chown 改变文件的所有者

chown file user

如果是一个文件夹的话要加 -R

chgrp 改变文件的所属组

chgrp file group

如果是一个文件夹的话要加 -R

wc -l file 统计行数

|管道符:连接两条命令,把前面的命令执行结果给后面的命令处理

ls |wc -l 

&& 连接两条命令,先后执行

sh startup.sh && tail -f /logs/catlina.out

 

 

   对文件的操作

    vi:

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

   i:当前位置

   o:当前行的下一行

   a:下一位置进行编辑

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

   退出vi:

   命令模式下:":q"#没有修改的话可以直接退出

   ":q!"#不保存退出

   ":wq"#保存退出

   ":x"#也是保存退出

   查找:

   /test  从头开始找

   ?test  从文件末尾开始找

   显示行号:   ":set nu"

   取消显示行号: ":set nonu"

   快去去到某一行:9

   快速到文件末尾:shift+g

   x:删除单个字符

   dd:删除整行

   19dd:删除19行

   u:撤销

   yy:复制一整行

   19yy:复制19行

   p:粘贴

   .:重复前一次操作

   $:移动光标到行尾

   0:移动光标到行首

   替换字符串:

   ":%s/src_str/new_str/g"

   cat 

   more 

   less 

   tail -f 

   ln /opt/lampp/xampp ~/wxy

   find / -name mysql #查找文件/文件夹

   grep xxx file 查找文件

   grep -v 过滤掉指定的关键字

   tail -f /opt/lampp/logs/access_log |grep wgy

 

 

   du -sh * 可以看到当前目录下所有文件的占用空间

   du -sh dirname 

   df -h  可以看到当前磁盘已经使用了多少

   安装软件

   上传、下载

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

   rz、sz命令可以直接上传下载,但是它不能上传文件夹

 

   开关机、重启

   关机

   shutdown -h 30 #定时关机

   shutdown -h now #立即关机

   init 0 #立即

   reboot 重启

   shutdown -r 20 "我要重启啦" 定时重启

   注销

    exit

   网络的

   ip a

   ifconfig 

   dhclient#自动获取ip

 

 

   压缩、解压文件

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

   tar zcvf linux.tgz linux#   压缩

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

   zip linuz.zip linux 打zip包

   unzip linuz.zip

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

   gunizp file.gz

   cat xx > new_xx 覆盖原有的内容 

   cat xx >> new_xx  追加

 

   ps -ef|grep mysql|grep -v grep 查找进程

   ps只是显示你执行那一时刻的状态

   top 动态的查看进程,但是不能查找

   kill -9 pid 杀进程 可以跟多个pid

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

   定时任务:

  

  crontab -e 编辑定时任务

  crontab -l 查看当前有哪些定时任务

  crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,*代表每分钟都执行

   查看端口号:

  netstat -nlpt|grep 18983 查询这个进程号启动端口号是什么

  netstat -nlpt|grep port #可以查看这个端口号有没有被占用

 

   环境变量

  环境变量的作用就是让一个脚本/脚本在随便在哪个目录下都能用

  系统环境变量:/etc/profile

  用户环境变量:~/.bashrc

  export PATH=$PATH:

  source /etc/profile

  source ~/.bashrc

   shell脚本

   shell其实就是多个命令写在一起

   ps -ef|grep jmeter|grep -v grep |awk ‘{print $2}‘

 

   awk ‘{print $2}‘ #取第二列的数据

   linux默认的shell解释器就是bash

 

   软件安装:

   rpm -ivh xx.rpm

   rpm -e xxxxx

   rpm -qa|grep xxx#查询是否已经安装这个软件

   yum:

   xx yum -y install xxx

   源码安装:

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

   make 编译

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

 

Linux基础命令