Linux 基础命令
1- linux管理网络的命令:
在系统刚装好的时候,默认可能没有启动网卡。
ifup + 网卡名 #启动网卡
ifdown + 网卡名 #关闭网卡
2 - 管理网络配置的文件
/etc/sysconfig/network-scripts/ # 网络配置相关文件夹
可以通过vi, 打开这个网卡文件,修改一个参数使得开机加载网卡
onboot = yes
网卡对应的文件叫
ifcfg-ens33
3 - 网络管理的一个服务脚本
/etc/init.d/network start/stop/restart # 对网络服务进行启停/重启
4 - 查看linux 的ip地址信息
ip addr show
ifconfig
5 - 查看当前位置,打印当前工作目录
pwd
得到一个反馈结构是
/root
说明当前文件是root目录下
6 - linux 下,文本是白色的,文件夹是蓝色的
7 - 增
mkdir 创建一个文件夹
mkdir hellolinux 创建一个名为hellolinux 的文件夹
mkdir -p a/b c/d 递归创建,在a 文件夹下创建一个b c文件夹下创建一个d
mkdir -p test/{a,b,c,d} 在test文件夹下创建a,b,c,d 四个同级目录
touch test.txt 创建一个test.txt 的文件
touch test.py 创建一个test.py的文件
8 - 删
rm (remove),删除文件的命令
rm + 要删除的文件
rm -i test.txt -i是参数,提醒你是否真的要删除
rm -i test* 删除所有以test开头的文件
rm -r 递归删除,当文件夹下还有文件夹时,直接 rm 时不行的,需要递归删除
rmdir 只能删除空文件夹
rm -rf/* 删除linux底下所有的内容,这个命令一旦敲了,就什么都没有了,切记不要随便使用。
rm -rf /tmp/* 删除根目录下的tmp目录下的所有内容
9 - 改
mv ,移动,改名
mv + 旧文件名 +新文件名 ,就能把旧文件改名
cp (copy) 复制命令
cp + 原文件名 + 新文件名
cp test.py tests.py
cp -r test test2 递归拷贝文件夹
10 - 查
ls 查看命令,查看文件夹的
ls + 操作对象
ls /root 显示/root文件夹下的详细信息
ls -la
-l 显示详细信息
-a 显示隐藏的文件/文件夹
组合使用就是显示所有
ls -la/root/ 显示root 文件下所有的文件和文件夹
cd (切换目录)
cd /root/hellolinux 切换到/root/hellolinux文件夹下
cd 只能进入文件夹,而不能进入文件
cat + 文本名 查看当前文件的内容,查看的是文件为不是文件夹
cat +文本名 -n 能够显示行号
more + 文件名 也是查看当前文件的内容,当内容多了用more查看能够翻页
less + 文件名 逐行查询
stat animal.py 查询单个文件的详细信息
11 - 编辑文本
vi + 文件名 打开这个文件,此时进入一个命令行模式的状态,一般会输入i/o/a
i 进入之后 输入 i 就可以变成 insert 模式,进入编辑模式,进行编辑
o 是在光标所在行的下一行编写
esc 如果编辑完成,按下esc 就可以退出编辑模式,回到命令行模式
:wq! 回到命令行模式之后,输入:wq! 就能保存并退出
:q! 强制退出,不保存
12 - 查看用户登陆终端的命令
w 此命令是记录用户登陆的,包括用户身份,来源ip
whoami 查看用户身份,看你是root 用户还是其他用户
tty 查看终端信息的命令
13 - 更改linux主机名
hostnamectl + set-hostname + 要改的名字
14 - 退出linux登陆会话的命令
logout
15 - xshell 的快捷命令
clear / ctrl + L 清屏
ctrl + d 等同于logout 也是退出会话
ctrl + shift + r 快速登陆
ctrl + c 种植当前操作
poweroff 关机命令
tab 用域自动补全命令/文件名/目录名
reboot 重启机器
16 - echo 命令
echo 字符串 / $ 变量
echo 'hello world' 打印出'hello world'
echo $PATH 打印环境变量
17 - 特殊符号
>> 追加重定向,把文件追加到文件的结尾,相当于python中文件的追加 a 。
> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件覆盖到文件末尾
< 输入重定向
<< 将输入结果输入重定向
echo "hello" > /tmp/oldboy.txt # 清空tmp/oldboy.txt文件中的内容,然后将hello 追加进去
echo "hello" >> /tmp/oldboy.txt # 直接将'hello" 追加到odlboy.txt文件中
cat >>/tmp/oldboy.txt << EOF # 这样就会夯住然后进行输入,输入完之后末尾加个EOF就终止输入,就把写的内容就加进去了。
18 - 拷贝命令
cp animal.py /tmp # 拷贝一份animal.py 到/tmp目录下
cp animal.py /tmp/dog.py # 拷贝一份animal.py 到/tmp目录下并改名为dog.py
cp -r 递归,赋值目录以及目录的子孙后代
cp - p 复制文件,同时保持文件属性不变
cp - r test test2 递归复制test文件夹,为test2
19 - 移动命令/改名
mv /home/s1 /tmp/s2 把home文件夹下的s1 移动到tmp文件夹下的s2
mv x.py xx.py 把x.py改名为xx.py
20 - 查找命令
find + 文件目录 + -type (文件类型)+ 文件名
-name 按照文件名查找
-type 查找某一类文件:
b 块设备文件
d 目录
c 字符设备文件
p 管道文件
l 符号链接文件
f 普通文件
s socket文件
find /tmp/ -type f -name "s1.py" 查找根目录下的tmp文件下的 普通文件,名字是s1
find /tmp/ -type f -name "*.txt" 找到/tmp所有.txt 结尾的文件
21 - 管道命令
Linux提供的管道符"|" 管道符左边的会输出一个结果,然后将这个结果赋给管道符右边作为条件,继续执行右边的命令。
ps -ef | grep "python" 检查python程序是否启动
ps -ef 查看进程
ls /tmp | grep ".txt" 查看/tmp目录下的所有txt文件
22 - grep
grep 是一种强大的文本搜索工具,用来查询文本内容中的信息,并把匹配的行打印出来
grep -i 忽略大小写
grep -n 输出行号
grep -v 反向选择
--color = auto 给关键词部分添加颜色
grep -i "hello" /tmp/s1.py 从/tmp下的s1.py中找到所有hello的信息
cat /etc/passwd | grep "^root" --color=auto -n 找出/etc/passwd下root用户所在行,以及行号,显示颜色
23 - head、tail命令
head 显示文本先几行的内容,如果不设定默认显示前10行
tail 显示文本后几行的内容,如果不设定默认显示后10行
head -2 /tmp/s1.txt 查看前两行
tail -2 /tmp/s1.txt 查看后两行
tail -f xx.py 实时更新显示文本的内容
24 - alias 用于起别名
Linux 如何提示你,在使用删除等命令时,提醒你注意
alias 查看系统别名
alias rm="echo 刘老汉你可别删了,求求你了,你个菜狗"
此时在执行rm就会提示这个信息,然后不让你删
unalias rm 取消别名
25 - which
which python 查找出python在哪个环境变量下的哪个绝对路径下
26 - scp 命令
用域liunx之间复制文件和目录
scp 是linux系统下基于ssh登陆进行安全的远程文件拷贝命令
语法:scp 可选参数 + 本地源文件 + 远程文件标记
参数:
-r 递归复制整个目录
-v 详细方式输出
-q 不现实传输进度条
-c 允许压缩
scp -r 本地文件夹 远程用户名@远程IP地址:远程文件夹/ # 将本地文件传输到另一个地方去
scp -r root@本地ip地址: 本地文件夹/
27 - du命令
linux du 命令用于显示目录或文件的大小
du 会显示制定的目录或文件所占用的磁盘空间
语法:du + 参数 + 文件目录
参数:-s 显示总计
-h 以k,M,G为单位显示,可读性强
du -sh /home # 显示/home 的总大小
28 - top - 命令
top 查看详细信息
29 - chattr
家文件加锁,只能写入数据,无法删除文件
chattr +a test.py 给test.py文件加锁
chattr -a test.py 解锁
30 - 时间同步
date + "%Y-%m-%d" 以年-月-日显示当前时间
date + "%Y-%m-%d %T" 以年-月-日 时分秒 显示当前时间
hwclock 查看硬件的时间
hwclock -w 以系统时间为基准,修改硬件时间
hwclock -s 译英舰事件为基准,修改系统时间
ntpdate -u ntp.aliyun.com 同步到阿里云的时间
31 - wget 用于在终端下载网络文件
语法:wget +参数 + 下载地址
wget - r -p + 网址 递归下载该网站的所有资源
32 - 查询系统详细信息
cat /etc/os-release
cat /etc/redhat-release 查看系统版本信息
unmae - r 查看内核版本
uname - m 查看系统多少位
33 - 创建用户
root 用户创建普通用户,useradd + 用户名
root用户改密码可以直接 制定要改的用户的名字 : passwd + 用户名
普通用户改密码:不能这样,必须切换到当前用户下,然后直接输入passwd 进行更改
34 - 切换用户身份
su - 用户名
如果是在root用户下要切换到其他用户,直接就可以 su - 用户名 切换过去,而不需要输入密码
如果是普通用户要切换到root用户下,需要输入root的密码才能切换过去
35 - sudo 命令
如果普通用户想要拥有root用户的权限,需要在/etc/sudoers/中将该用户写入
此时普通用户要想使用root的权限,就可以前边加上sudo ls -la 进行查询
如果是普通用户:sudo + 命令就相当于是穿了一层root用户的身份
36 - 存放用户信息的文件
/etc/passwd 存放的是用户的身份信息
/etc/group 存放的是用户组的文件
/etc/shadow 存放用户密码的文件
37 - 权限相关
- 一般文件
d 文件夹
l 软连接
b 块设备
c 代表键盘,鼠标设备
r 可读 4
w 可写 2
x 可执行 1
38 - 查看用户权限命令
id root 查看用户所属群主
39 - 修改文件权限属性
普通用户只能修改自己的文件名,时间与权限,因此修改其他用户权限,只能用root用户。
比如python.text 文件的属主、属组都是 python ,现在要将其属主改为root,属组也改为root
chown + root + 这个文件名 这样就能将这个属主改为root
chgrp + root + 这个文件名 此时数组也是root
40 - 修改权限的命令
chmod + 身份 + 参数 + 文件
chmod u+w python.txt 表示给python.txt 文件的属主加一个可写的权限
chmod g-x python.txt 表示给python.txt 文件的属组减去一个可执行的权限
chmod o+r python.txt 表示给python.txt 文件的其他用户用加一个可读的权限
也可以通过权限对应的数字进行修改权限
chmod 777 python.txt 将用户 用户组 其他 都设定成可读可写可执行
chmod 755 python.txt 用户可读可写可执行,用户组和其他都是可读可执行
41 - 修改文件更改时间
touch + 文件名(已存在的文件)
42 - 软连接命令
软连接也叫符号链接,类似于windows中的快捷方式,常用于安装软件的快捷方式配置,如pyhon,nginx
ln -s 目标文件 软连接名
在/home目录中建立软连接my_test ,指向 /tmp/test.txt文件
ln -s /tmp/test.txt my_test
43 - tar 解压/压缩命令
tar -zxvf + 需要解压的文件 解压
x 解压
f 指定文件
tar -czvf + 需要压缩的文件 压缩
44 - netstat命令
用于打印linux 中网络系统的信息
netstat -tunlp 显示结果如下
45 - ps 命令
ps -ef 查看进程
46 - kill 命令
kill -9 强制杀死
kill + 进程号/进程名 杀死进程