【一】修改文件

如果是使用普通用户登录的,需要先切换到管理员用户,打开终端,输入:su,接着按提示输入密码即可;然后使用命令进入需要修改文件的所在目录,常用的几个命令如下:
① cd + 目录名
② cd + 空格(退回上级目录)
③ cd + 空格 + /(退回最高级目录)
接着使用命令:vi + 文件名命令,打开文件,然后输入命令:/ + 要修改的关键词,查找到要修改的内容,然后使用命令进入【文本输入模式】,常用的命令如下:
① a 在光标之后开始输入文本
② A 在行尾开始输入文本
③ i 在光标之前开始输入文本
④ I 在行首第一个非空白字符前输入文本
⑤ o 在光标所在行后插入一空行
⑥ O 在光标所在行前插入一空行
【二】保存退出
修改好文件后,如果在【文本输入模式】下,首先按“ESC” 键进入【命令模式】,然后输入“:”,进入【末行模式】,在末行模式下,可使用如下退出命令:
① q 是直接退出;
② wq 保存后退出;
③ q! 强制退出;
④ wq! 强制保存退出;

 

增加

touch 创建文本

mkdir 创建文件夹

vi 编辑文本,相当于记事本,不好用

vim 支持编程的文本编辑器,相当于notepad++

 

rm 删除文件,文件夹

 

mv 改名-移动文件,文件夹

cd 更换目录

 

查询

ls 查看文件夹内容

cat 读取文本文件内容

pwd 打印当前工作目录

ip显示相关

ip addr show

ip a

ipconfig

 

linux文件目录结构

/var 存放经常变化的文件

/home 普通用户家目录

/etc 存放配置文件的目录

/etc/my.cnf mysql的配置文件,可以修改mysql的中文编码支持

/bin binary二进制 存放可执行文件,存放了一堆命令

/root 超级用户的家目录

/opt 存放第三方软件的目录

    /opt/mysql

    /opt/nginx

    /opt/python3.6

settings.py django的功能性配置文件

 

linux命令和参数

. 当前工作目录

..代表上一级工作目录

-代表上一次工作目录

~当前用户家目录

 

linux以点.开头的文件或者文件夹,都是隐藏的

 

mkdir -p 递归创建文件夹

mkdir ./s15/students/{eric,mandy,tony} 一次性创建多个文件夹

 

rmdir 删除空的文件夹

rm -r 递归删除文件夹(慎重使用)

 

rm -rf 强制递归删除文件夹和文件且没有提示 

   -r 递归删除

     -f  强制删除

 

root超级用户下创建普通用户:

useradd eric

passed eric

按提示依次输入两次密码即创建成功

 

echo $PATH 查看linux下的PATH环境变量

如果在linux中装python3.6应该装在/opt下面

完整调用路径:/opt/python3.6/bin/python3.6

如果想在linux命令行直接输入python3.6就能运行,就应该将路径添加到linux的环境变量PATH中

同理,nginx也是这样/opt/nginx/bin/nginx

 

绝对路径和相对路径

以根查询开始的就是绝对路径 /home/1.txt

以点开始的就是相对路径 ./1.txt

 

echo “美丽人生”  > 111.txt   单右尖号  覆盖模式写入111.txt

echo “世界”  >> 111.txt   双右尖号  追加模式写入111.txt

cat  /home/eric/111.txt -n  查看111.txt的文本内容,并显示行号

 

vim 支持编程的编辑器  notepad++

vim filename.txt 进入命令模式后,可以输入各种命令

  :set nu 显示行号

  在光标所在行 yy 复制所在行      dd 删除所在行

  光标所在行 输入 3 yy 包括所在行往后共复制三行  同理 3 dd 即删除

 

more命令用于查看内容比较多的文本

 

linux的man手册  查看命令的手册

 

拷贝相关:

#移动xxx.py到/tmp目录下   cp xxx.py /tmp/

#移动xxx.py顺便改名为chaoge.py     cp xxx.py /tmp/chaoge.py

cp -r myproject myproject2  递归拷贝,拷贝所有目录及目录内所有文件

 

移动命令:

mv 111.txt  ./tmp/  将111.txt移动到当前目录下的tmp文件夹

mv 111.txt  ./tmp/222.txt    移动并重命名

 

查找命令 

#Linux里如何找到需要的文件 例如 oldboy.py

find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)

参数
-name 按照文件名查找文件

-type 查找某一类型的文件,诸如:

b – 块设备文件。

d – 目录。

c – 字符设备文件。

p – 管道文件。

l – 符号链接文件。

f – 普通文件。

s – socket文件

find /tmp/ -type f -name   oldboy.py

 

#找出/tmp所有以 .txt 结尾的文件

find /tmp/ -type f -name *.txt

 

#找到/etc下所有名字以host开头的文件

find /etc -name host*

 

#找到/opt上一个名为settings.py

find /opt -name ‘settings.py’

 

grep查找

强大的文本搜索工具,支持正则表达式,并把匹配的行打印出来

语法:
grep [参数] [–color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
–color = auto : 给关键词部分添加颜色

grep “我要找什么” /tmp/oldboy.txt

#排除 -v,排除我要找的东西

grep -v “我要找什么 /tmp/oldboy.txt

 

head,tail命令

head显示文件前几行,默认前10行

tail显示文件后几行,默认后10行

#查看前两行

head -2 /tmp/oldboy.txt

#查看后两行

tail -2 /tmp/oldboy.txt

#持续刷新显示,可以监控文件

tail -f xx.log

#显示文件10-30行

head -30 /tmp/oldboy.txt |tail -21

 

alias别名命令

alias rm=”rm -i”

一般会用做危险提示

取消别名

unalias rm

 

which命令

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which pwd
which python

 

scp命令

用于Linux之间复制文件和目录,基于ssh进行安全的远程文件拷贝命令

scp [可选参数] 本地源文件 远程文件标记

参数

-r:递归复制整个目录

-v:详细方式输出

-q:不显示传输进度条

-c:允许压缩

实例:

#传输本地文件到远程地址
scp 本地文件  远程用户名@远程ip:远程文件夹/
scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名

scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py

scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy

#复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/

 

getenforce命令

– 显示SELinux的状态,SELinux是FBI内置的一个Linux保护程序,多数情况下对我们没用

 

 du命令

 显示目录或文件的大小

用法:

du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强

实例: 

#显示/home的总大小
du -sh /home

top命令

命令用于动态地监视进程活动与系统负载等信息

 

chattr命令

给文件加锁,减锁,只能写入数据,不能删除

chattr +a test.py
chattr -a test.py

 

时间同步命令

date

linux的date命令可以显示当前时间或者设置系统时间

格式化输出

-d    --date=string    显示指定的时间,而不是当前时间
以年-月-日显示当前时间
date +"%Y-%m-%d"
以年-月-日 时分秒 显示当前时间
date +"%Y-%m-%d %T"
在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
硬件时间的运行,是靠Bios电池来运行,而系统时间是用CPU tick来维持的。
在系统开机时候,会从Bios中获取硬件时间,设置为系统时间

硬件始终的查看

[root@oldboy_python ~ 10:19:04]#hwclock
2018年08月27日 星期一 10时23分03秒  -0.528004 秒

同步系统时间和硬件时间,可以用hwclock命令

//以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w

//以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s

 ntpdate

远程同步时间  ntpdate -u ntp.aliyun.com

 

wget命令

在终端下载网络文件

wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中

 

linux网络配置命令:

ifconfig 查询,设置网卡和IP参数等

ifup,ifdown 脚本命令,更简单的方式启动关闭网络

#编辑网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0 
#修改配置参数
ONBOOT=yes

网卡配置文件详解

网络配置文件:
/etc/sysconfig/network

网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; 
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;

 

切换用户

su –  eric 

su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息

root用户切换普通用户不需要密码,普通用户切换root用户需要密码

 

systemctl 系统服务管理命令

systemctl restart/start/stop 

 

id命令

id eric 显示用户权限详细信息

/etc/passwd 存放用户信息

/etc/group 存放用户组信息

 

Linux命令提示符

命令提示符的变量:PS1变量

echo “$PS1”

修改命令提示符

 PS1 = “[\u@\h \W]\$”

 

groupadd 

添加组

 

userdel

删除用户

-f     强制删除用户
-r     同时删除用户以及家目录
userdel -r pyyu 

 

sudo命令

sudo命令用来以其他身份来执行命令,预设的身份为root

需要在root权限下编辑/etc/sudoers文件,将其他身份加入进去

vi /etc/sudoers 编辑sudoers文件

写入
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
chaoge  ALL=(ALL)       ALL   #允许chaoge在任何地方,执行任何命令

 

软连接

类似于快捷方式,常用于安装软件的快捷方式配置,如python,nginx等

ln -s 目标文件绝对地址  软连接名

1.存在文件/tmp/test.txt
[root@master tmp]# ls -l
-rw-r--r-- 1 root root     10 10月 15 21:23 test.txt

2.在/home目录中建立软连接,指向/tmp/test.txt文件
ln -s /tmp/test.txt my_test

3.查看软连接信息 ls 或  ll等
lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt

4.通过软连接查看文件
cat my_test

my_test只是/tmp/test.txt的一个别名,因此删除my_test不会影响/tmp/test.txt,但是删除了本尊,
快捷方式就无意义不存在了

 

tar压缩解压命令:

 tar 命令:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的
  -c 压缩参数
  -x 解压参数
  -v 显示过程
  -f 指定文件,最后一个位置的参数
tar -cf 压缩文件名 被压缩文件
tar -xf 需要解压的包

ps命令

ps 命令用于查看系统中的进程状态,格式为“ps [参数]”

ps  命令常用参数
-a     显示所有进程
-u     用户以及其他详细信息
-x    显示没有控制终端的进程

 

kill 杀死进程命令

kill 命令pid

kill -9 mysqld

  -9 强制终止进程,以及进程相关依赖

killall

killall nginx

 

 

df命令

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 

语法
df(选项)(参数)
-h或--human-readable:以可读性较高的方式来显示信息;
-k或--kilobytes:指定区块大小为1024字节;
-T或--print-type:显示文件系统的类型;
--help:显示帮助;
--version:显示版本信息。

 

 DNS服务

查看Linux的dns,唯一配置文件

配置文件
cat /etc/resolv.conf
#dns服务器地址 nameserver 119.29.29.29 nameserver 223.5.5.5

本地强制dns解析文件/etc/hosts

指定本地解析:
/etc/hosts
主机IP    主机名    主机别名
127.0.0.1        www.pyyuc.cn 

 

nslookup命令

nslookup命令是常用域名查询工具,就是查DNS信息用的命令。

nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。

进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。或者输入nslookup -nameserver/ip。进入非交互模式,就直接输入nslookup 域名就可以了。

#解析
nslookup www.oldboyedu.com

 

 

 

版权声明:本文为ericyjchung 从心出发,不论归期原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ericyjchung/p/16210278.html