linux相关命令

linux常用命令

查询目录中内容:ls

格式:命令 [选项] [参数]

选项:

  -a所有

  -l详细信息

  -d 查询目录属性

  -h 人性化显示----即人能够看懂得形式

  -i 显示inode信息

参数:

文件或目录

注意:选项中的 -d、-h、-i需要与-l联合使用,才能看到效果

例子:

  ls -ld    ------查看当前目录下的所有文件或目录的属性

  ls -ld /etc/ ------查看/etc目录的属性信息

  ls -lh /etc/   --------查看/etc/目录里的所有文件或文件夹信息

 

 

 

-rw-r--r--.  1 root root  127 11月  7 18:28 checkIndex.jsp

 

 

 

 

文件处理命令

目录处理命令

创建目录命令 mkdir

格式:命令 [选项] [参数]

选项:-p  递归创建目录

参数:要创建的目录名称

例子:mkdir -p aa/bb ------表示先创建一个aa目录,再创建一个bb目录

切换所在目录 cd

  cd [目录]

  简化操作

  cd ~ 回到当前用户的家目录下

  cd  同上

  cd – 回到上次目录

  cd .. 回到上级目录

  cd . 回到当前目录

查看当前目录命令  pwd (print working directory)

删除目录或文件 rm

格式:rm [选项] [参数]

选项:

  -r  删除目录

  -f  强制删除 force

参数:

  目标目录或文件

复制目录或文件  cp

格式: cp [选项] [源目录或文件] [目标目录]

选项:

  -r 复制目录(连带目录里的文件)

  -p 连带复制文件属性

  -d 若源文件是链接文件,则复制链接属性

  -a 相当于-pdr

例子:

  cp -r aa/ bb/   -----将aa目录复制到bb/目录下

  cp a.log bb/   -----将源文件a.log复制到bb/目录下

剪切文件或改名 mv

格式:mv [源文件或目录] [目标目录]

例子:

  mv aa/ dd ------同级目录下,将目录aa改名为dd

  mv aa/ /dd ------将目录aa剪切到dd下

文件处理命令

链接处理命令 ln

硬链接命令

特征:

  1. 具有相同i节点和存储数据块,相当于同一个文件
  2. 不能跨分区(只能同一个一级目录下)

   

  3、不能针对目录

   

  4、删掉源文件,链接文件仍能访问

  例子:

    ln 内部接口文档.xlsx tools/

  总结:硬连接,相当于是同一个文件,两个名字(一间教室,两个门)

软链接 ln -s

特征:

  1. 类似于windows的快捷方式
  2. 软链接拥有自己的i节点和存储数据块,但是数据块中只存着原文件名和i节点号,并没有实际数据
  3. lrwxrwxrwx

 

软链接文件的权限控制在于源文件

  1. 修改原文件或软链接文件,另一个都会发生改变
  2. 删除原文件,软链接不能使用

总结:

 

文件搜索命令

命令搜索命令

  1. whereis

    a)   格式:whereis [选项] [参数]

      i.  选项:-b 只查询命令所在目录,不展示命令的帮助文档 -m 只查询命令的帮助文档所在位置

      ii.  参数:命令名称  如ls、pwd等

    b)   例子:

    

  1. which

    a)   格式:which [参数]

       i. 参数:命令名称

    b) 例子:

     

    总结:which 可以查出命令的所在路径以及命令的别名

  1. whoami

a)   格式:whoami

b)   例子:

 

 

  1. whatis

a)   格式:whatis [参数]

b)   例子:

 

文件搜索命令

  1. locate

    a)   格式:locate [参数]

             i. 参数:文件名

    b) 例子:

     

 

c)总结:

locate命令查找文件是从后台数据库中(/var/lib/mlocate/)查找,后台数据库的更新时间是每天更新一次,所以新建一个文件后,要想利用locate命令查找,必须先执行updatedb命令,手动更新数据库。使用locate命令,最好在root用户下使用,因为/var/lib/mlocate/mlocate.db文件的所有者是root,所属组是slocate

 

远程复制  -----scp

1、从远程复制到本地

  a)   格式:scp 【选项】remote_username@remote_ip:remote_folder/local_file local_folder

  b)   【选项】:

            i.  -r 递归复制整个目录

         ii.  -P port:端口号

  c)   remote_username@remote_ip 远程用户@远程ip

  d)   remote_folder/local_file 远程目录下的文件或文件夹

  e)   local_folder 将文件或文件夹复制到本地的目录

  f)   例子:

           i. scp -r redis@192.168.220.130:/home/redis/redis/redis_cluster ./

2、从本地复制到远程

g)   格式:scp 【选项】 local_file  remote_username@remote_ip:remote_folder

h)   例子:

         i.      scp -r aa redis@192.168.220.130:/home/redis/

       ii.      aa -----本地文件

      iii.      将本地复制到远程ip为192.168.220.130下的/home/redis目录下

 

 

查看文件行号

Vim a.txt,进入文件后,输入:set nu,回车

 

替换文本字符串

 

:s/well/good/ 替换当前行第一个 well 为 good

:s/well/good/g 替换当前行所有 well 为 good

:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good

:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good

:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#well/#good/# 替换当前行第一个 well/ 为 good/

:%s#/usr/bin#/bin#g

 

 

 

Ubuntu问题

1、设定root用户的初始密码

1)sxq@ubuntu:~$ sudo passwd

 

设置的密码即是root用户的初始密码

2、安装openssh

sudo apt-get install openssh-server

 

 

centos问题

1、远程访问虚拟机

1)安装openssh

yum install openssh-server

2)进入/etc/init.d/目录下会有一个sshd,启动sshd服务

./sshd start

3)设置开机自启动

a)查看哪些服务开机自动的

chkconfig --list

b)查看哪个具体的服务是开机自启动的

chkconfig --list 服务名

 

此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。

执行chkconfig sshd on命令后,再次查询状态

 

这个时候2~5都是on,就表明会自动启动了。

4)关闭防火墙

service iptables stop

2、创建用户

1)创建用户组

groupadd 【用户组名】

2)创建用户

useradd -g 【用户组名】【用户名】

3)设置用户密码

passwd 【用户名】 (密码连输3次)

 

 

3、使用ifconfig 查不到ipv4的ip地址

    1、cd /etc/sysconfig/network-scripts

       

    2、[root@localhost network-scripts]# vi ifcfg-ens33

       

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=dhcp -----动态获取ip

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=7d3c3902-7c9a-40e3-a05e-ff308fbcc2fd

DEVICE=ens33

ONBOOT=yes  -----开机自启动,必须将该参数设置yes

~    3、重启network服务

        [root@localhost network-scripts]# service network restart

 

第二种情况:

   

看下虚拟机的服务有没有开

 

第三种情况:

    查看虚拟机中的网络有没有连接上

 

4、centos7

4.1关闭防火墙

systemctl stop firewalld.service

 

开启防火墙:systemctl  start   firewalld.service

 

4.2开放端口

    添加一个端口:

firewall-cmd --zone=public --add-port=81/tcp –-permanent

    添加一组连续的端口:

    firewall-cmd --zone=public --add-port=7000-7005/tcp –-permanent

执行完添加命令之后,需要重启防火墙

    firewall-cmd --reload

4.3查看开放的端口

    firewall-cmd --list-ports

4.4 查看指定端口是否开放

firewall-cmd --zone=public --query-port=81/tcp

.

 

4.5 查看防火墙状态

firewall-cmd    --state

5、centos6.5开放端口 (以22端口为例)

1)开放端口

方法一:

/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT   写入修改

     /etc/init.d/iptables save   保存修改

     service iptables restart    重启防火墙,修改生效

      netstat –an | grep 22 检查上面的修改是否生效

     

方法二:

     
       vi /etc/sysconfig/iptables  打开配置文件加入如下语句:

       -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT   重启防火墙,修改完成

 

2)关闭端口

方法一:

     /sbin/iptables -I INPUT -p tcp --dport 22 -j DROP   写入修改

      /etc/init.d/iptables save   保存修改

      service iptables restart    重启防火墙,修改生效

 

方法二:

 

       vi /etc/sysconfig/iptables  打开配置文件加入如下语句:

       -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP   重启防火墙,修改完成

 

 

2、 关闭防火墙

a)    servcie iptables stop --临时关闭防火墙

b)    chkconfig iptables off                    --永久关闭防火墙

 

posted @ 2018-10-16 22:16  迷茫的小草  阅读(161)  评论(0编辑  收藏  举报