linux基本知识

时间:2023-03-10 05:53:47
linux基本知识

1.默认不写端口号就是80端口

  127.0.0.1、localhost都代表本机

2.linux下的用户管理:

id:可以查看当前用户
whoami:查看当前的用户
who:看当前已经登录的用户
w:也可以看

添加用户:

  useradd test 添加用户

  useradd -g testgroup test然后创建用户 test并将其加入到 testgroup用户组

  passwd test 创建密码test

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

  给添加的用户加密码、还可以重置密码也是passwd XXX(密码)

  ~ 波浪线代表家目录:
    快速回到家目录:cd ~ 直接cd

切换用户:

  su username

  su - username

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

  sudo 获取超级用户权限的

  添加普通用户sudo的权限

  vi /etc/sudoers文件
     找到 root ALL=(ALL) ALL
     username ALL=(ALL) NOPASSWD:ALL  

删除用户:

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

组管理:

  添加组:

    groupadd test添加test组

  删除组:
    groupdel test删除test组

对目录(文件夹)的操作:
  pwd 显示当前你所在路径

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

  创建文件夹:

    mkdir test创建test文件夹

    mkdir -p /tmp/besttest/blk直接在tmp下创建besttest文件夹,在besttest文件夹中创建blk文件夹

  删除文件夹:  

    rm -rf /test 删除test文件夹

    rmdir:只能删除空文件夹  

  查看文件下面的东西:

    ls -l == ll
    ll
  所有者的权限 同一组的权限 其他用户的权限
      rw-          r--          r--

  使用ls -a查看

  改名:mv besttest linux把besttest改为linux

  mv besttest /tmp把besttest移动到tmp下

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

  复制:

    cp ax /tmp/ 复制ax文件到tmp

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

    cp -rf linux /tmp

  /*目录,相当于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

  chown test1 test2 把tes1t这个文件改变所有者为test2

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

chgrp 改变文件的所属组

  chgrp file group

  chgrp test1 test2把test1这个文件改变组为test2

  如果是一个文件夹的话要加 -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 test1 test2 在test2文件中找到test1内容

  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中的内容全部覆盖到new_xx中

  cat xx >> new_xx  追加把cat中的内容追加到new_xx中

  ps -ef|grep mysql|grep -v grep 查找进程过滤掉包含grep的进程

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

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

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

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

  定时任务:

    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 把编译好的文件放到你指定的目录下