Linux

1 文件

1.1 查找文件

1.1.1 find

全盘查找

格式: find <指定目录> <指定条件> <指定动作>

find /etc -name elasticsearch.yml

查看目录下的所有文件(包括子目录里的文件)

 find /root -type f 

-type f:指定文件
-type d:指定目录

1.1.2 locate

系统将所有目录和文件存入数据库(/var/lib/mlocate/mlocate.db),locate将检索该数据库,速度快

locate nginx.conf 

注:由于是检索数据库,文件可以不是全名,且可以用正则表达式

非全名:location nginx.co

正则:location -r nginx.c

数据库会定期更新,新增的文件可能无法查找,可以使用更新命令更新数据库updatedb

1.2 sed 替换字符串

 g 全部替换 s查找并替换

sed  -i  's/hello/world/g'  2.txt  

1.3 cp 拷贝文件夹/目录

cp -a /root/data /root/back/data

1.4 ls 列举目录内所有文件

ls -al

-a :列举所有文件(包括以.开头的隐藏文件)

-l:详细展示结果

-r:以相反顺序显示结果(正常是按字母升序)

-S:按文件大小排序

-t:按修改时间排序

1.5 mv 复制文件夹

mv /root/test /root/test1/

1.6 stat 查看文件详情

stat 1.txt

1.7 tar 压缩/解压

解压

tar -zxf FileName.tar.gz

压缩

tar -zcf FileName.tar.gz DirName

-x 解压

-c 压缩

-t 查看内容,列出所有文件

-r 向压缩文件末尾追加文件

-z:有gzip属性

-j:有bz2属性

-v:显示所有过程

-f:指定档案名字

2 网络

2.1 netstat 显示当前占用端口

netstat -antp4

-a:显示所有选项(包括listen和其它状态的)

-l: 仅列出正在listen(监听)的服务

-t :显示tcp相关

-u:显示udp相关

-p:显示建立相关连接的程序名和PID

-n:直接使用IP地址,而不通过域名服务器

-4: 显示IPV4

rar包压缩:rar a test.rar  xxx  (xxx可为目录/文件)

rar包解压:unrar e test.rar

zip包压缩:zip -r test.zip xxx(xxx可为目录/文件) 

zip包解压:unzip test.zip

3 linux理论

3.1 硬连接和软连接

文件组成:用户数据(文件内容)+元数据(文件的附加属性:创建时间/访问权限/文件大小等)

硬链接:相当于对原文件创建快捷方式(别名),links大于1时(有多个别名) 删除只是删除别名,link-1

特点:inode(文件的唯一标识)不变,Links+1,不能对不存在的文件创建,不能对目录创建

创建:link oldfile newfile

stat file:查看文件详情

查找相同inode:find / -inum 12345

查看某个文件的硬连接:find /root -samefile /root/1.txt

软链接:用户数据存放的是原文件的路径

特点:有自己的元数据(文件属性),可对不存在的文件/目录创建,links不会增加,删除软连接不会影响原文件

创建:ln -s oldfile newfile

查看某个目录下的:ll 类似 resolv.conf -> ../run/resolvconf/resolv.conf表示为软连接

查看某个文件的软连接:find /root -lname 1.txt (注意,这里1.txt是/root的相对路径)

3.2  linux运行级别

分为0到6对应到目录 /etc/rc0.d ~ /etc/rc6.d

0:关机模式

1:单用户模式(没有加载网络模块,用来修改root密码 和 系统管理(比如系统中了病毒占满CPU导致服务器卡死))

2 ~ 5 正常多用户模式

6:重启模式

每个模式对应的目录里 会有很多服务,S代表系统将启动对应的服务 K代表将终止服务

4 Ubuntu 命令杂记

4.1 设置vi

问题:修改vi命令,默认情况下,上下左右代表abcd四个字母,backspace键不生效

解决:sudo vi /etc/vim/vimrc.tiny

修改倒数第二行set compatible,将其改为set nocompatible

再添加一行:set backspace=2

4.2 修改主机名 

hostnamectl set-hostname master

4.3 ssh配置root远程访问:

sudo apt update
sudo apt-get -y install openssh-server
开启root远程登录ssh:sudo vi /etc/ssh/sshd_config    将PermitRootLogin的值改成yes 前面的#需要去掉
重启ssh:service ssh restart

4.4 禁止系统自动更新

vi /etc/apt/apt.conf.d/10periodic  将所有的数值为1的改为0

4.5 linux间传输文件 scp

复制本地文件到远程机器:scp  当前主机文件  root@目标主机IP:目标主机目录 
复制远程文件到本地机器:scp -p  root@目标主机IP:目标主机文件 当前主机目录
复制远程目录到本地目录:scp -r  root@目标主机IP:目标主机目录 当前主机目录

4.6 windows和linux间传输文件:rz sz

yum install lrzsz -y
rz :上传文件到linux
sz 文件:下载linux里文件

4.7 打印路由

打印所有IPV4路由规则:route -4

临时新增:route add -net 192.168.43.0 netmask 255.255.255.0 metric 101 dev wlp4s0 

临时删除:route del -net 192.168.43.0 netmask 255.255.255.0 

4.8 设置root密码

sudo passwd root

4.9 配置阿里源

1 lsb_release -a  查看codename  例如codename=bionic
2 备份原有源 cd /etc/apt          sudo mv sources.list sources.list_bak
3 填加新的源(下面会用到codename):sudo vi sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main multiverse restricted universe
4 更新: apt-get update

4.10 环境变量

查看某个环境变量:echo $JAVAPATH  或者  env | grep JAVAPATH

显示所有环境变量:export -p  或者  env

删除环境变量 unset JAVAPATH

临时新增环境变量:export PATH=/etc/java

所有用户永久设置环境变量:vi /etc/profile  在最后加入 export PATH=$PATH:/etc/java  立即生效:source  /etc/profile

4.11 设置开启自启脚本

修改/etc/rc.local

在最后exit 0 前加入我们的脚本

4.12 ubuntu修改DNS

方法1:修改 /etc/network/interfaces  

增加 dns-nameservers 202.97.224.68

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.201.100
netmask 255.255.255.0
gateway 192.168.201.254
dns-nameservers 202.97.224.68 202.97.224.69

方法2 修改/etc/resolvconf/resolv.conf.d/base(默认为空)

增加一行:  nameserver 202.97.224.68

然后更新:   resolvconf -u

查看当前所有 dns

cat /etc/resolv.conf

4.13 ubuntu设置网络为DHCP或者静态IP

修改  /etc/network/interfaces 

DHCP:

auto lo
iface lo inet loopback

静态IP:

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.201.100
netmask 255.255.255.0
gateway 192.168.201.254
dns-nameservers 114.114.114.114

 重启机器(重启网络一直没生效过) reboot

注:设置静态IP时一般会设置dns,否则不能通过域名访问网站

4.14  nohup

nohup java -jar xxx.jar > /root/nohup.out 2>&1 &

nohup:断开ssh连接仍然运行

&:后台运行

2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件

 

 

你可能感兴趣的:(linux)