Linux基本命令大全
linux的基本命令
- 增
mKdir test # 创建一个名为test的文件夹
mkdir -p test1/test2/test3 # 递归创建directory
mkdir -p {aaa,bbb,ccc} # 创建同级directory
touch test.txt # 创建名为test.txt的文件
- 删
rmdir test1 # 直接删除目录(只能directory,不能删除file)
rm -r # 删除目录(directory or file)并询问是否删除
rm -f # 强制无条件删除文件(file) 不询问
rm -rf # 强制删除(directory or file),并且不询问
rm -rf /* # 删除根目录下的所有
- 查
ls # 查看该目录下的文件
ls -l # 查看该目录下的文件及文件详情(主 组 大小 等等)
cat test.txt # 查看文件的内容(一次性查看全部)
# cat 详细用法看后面
tail -f test.txt # 实时监控文件内容
more test.txt # 分页查看文件内容
echo $PATH # 查看环境变量
- 改
echo '要改写的内容' >> test.txt
- 目录相关操作
cd . # 当前目录
cd .. # 上一级目录
cd - # 上一个工作目录
cd ~ # 当前用户所在的家目录
pwd # 当前目录的绝对路径
- 执行
# 执行文件
./
- 网卡配置相关
# 查看网卡信息的两种方式
# 方式一:
if add show
# 方式二:
ifconfig
# 启动网卡
ifup 网卡名(在查看网卡信息的时候可以看到网卡名)
# 禁止网卡
ifdown 网卡名
# 但是这里有一个问题,每一次系统启动之后都需要去启用网卡,不然就没办法连接网络并获取IP地址
- 编辑网卡配置
# 1 打开网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 2 按i进入编辑模式
# 3 将最后一行ONBOOT=no改为ONBOOT=yes, 按ESC退出编辑模式,再输入:wq保存退出
# 4 init 6重启服务器即可
- 开机和重启命令
init 0 关机
poweroff 关机
init 6 重启
reboot 重启
- linux的目录结构
linux的目录结构, 根目录 /
root 和 home是同级的
- 创建用户
# 1 创建用户名
useradd aaa # aaa 为用户名
# 2 为哪个用户设置密码
passwd aaa
# 3 输入密码
- 底线命令
# 1 按引号:
:w # 保存不退出
:wq # 保存并退出
:wq! # 无理由保存退出
:q # 退出
:q! # 无理由强制退出
- vim
# vi/vim 操作流程:
# 1. vi打开文件 此时进入命令模式,输入i,进入编辑模式
# 2. 在编辑模式下,开始输入字符串
# 3. 编辑完之后,esc退出编辑模式,回到命令模式,按:进入底线命令模式
# 4. 输入底线命令
- cat
### cat 只能查看纯文本类型(只能看file,不能看directory)
# 显示行号
cat -n test.txt
# 在每行结尾加上$符号
cat -e test.txt
# 将“你好”添加到test.txt文件中
cat >>test.txt<<EOF
你好
EOF
- more
# 用于查看内容较多的文本,会以百分比的形式显示看到多少
more /etc/passwd
"""
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
"""
- echo
# 追加
echo '要追加的内容'>>目标文件
# 覆盖
echo '要覆盖的内容'>目标文件
- linux快捷键
# 自动补全命令/文件名/目录名
tab
# 清理终端显示
ctrl + l
clear
# 终止当前操作
ctrl+c
# 复制
"""
# 移动test.py 到/tmp目录下
cp test.py /temp/
# 移动test.py 到/tmp目录下并重命名为aaa
cp test.py /temp/aaa.py
cp -r 递归,复制目录以及目录的子孙后代(copy目录 )
cp -p 复制文件,同时保持文件属性不变
cp -a 相当于-pdr ,类似于wimdows系统的复制快捷方式
"""
- alias
alias 新的命令='原命令 -选项/参数'
eg:
alias aaa='cp -r'
alias bbb='echo'"大哥,你想干啥"
- 查找命令
find (目录) (类型) (文件名)
# 找出/temp所有以.txt结尾的文件
find /temp/ -type f -name '*.txt'
# 找出/etc下所有名字以host开头的文件
find /temp/ -name 'host*'
# 找出/opt上一个名字为setting.py的文件
find /opt/ -name 'setting.py'
"""
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
"""
- 管道符命令
将第一个命令的输出 作为下一个命令的输入
ps -ef|grep 'python'
所有进程中 含有'python'字样的进程
"""
grep(global search regular expression(RE) and print out the line)
全面搜素正则表达式并把行打印出来,使用正则表达式搜索文本,并把行打印出来。
"""
- grep
grep '找的东西' 目录
"""
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色
"""
# 找出/etc/passwd下root用户所在的行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --clolr=auto -n
# 找出/etc/passwd所有不允许登录的用户
grep /sbin/nologin /etc/passwd # /sbin/nologin为查找的目标
# 找出/etc/passwd所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n
- head tail
head # 显示文件前几行,默认是10行
head -2 /tmp/test.py
tail # 显示文件后几行,默认是10行
tail -2 /tmp/test.py
# 显示文件10-30行 (利用管道)
head -30 /tmp/test.py|tail -21
# 持续刷新显示
tail -f xx.log
- which
which
"""
用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历目录,会再环境变量$PATH设置的目录里查找符合条件的文件
"""
which pwd
which python
/usr/bin/python
- mv
# 移动文件或者重命名files
# 移动
mv test/test1 /new_test/
# 重命名
mv test1.py new_test.py
- scp
# secure copy:远程copy命令,用于linux之间的文件或目录的远程传输
"""
scp 【可选参数】 本地源文件 远程文件标记
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
"""
# 传输文件到远程并且重命名
scp /tmp/test.py root@192.168.1.68:/home/
# 传输文件到远程并且重命名
scp /tmp/test.py root@192.168.1.68:/home/new_test.py
# 传输directory到远程并且重命名
scp -r /tmp/test.py root@192.168.1.68:/home/new_test.py
# 复制远程文件到本地
scp root@192.168.1.68:/home/test.py /tmp/test/new_test.py
# 参数
"""
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
"""
- du
# 用法
du 参数 文件或目录
# 参数
"""
-s 显示总计
-h 以k,M,G为单位显示,可读性强
"""
# 实例
du -sh /home
df # 查看磁盘大小
- top
# 很重要,用于动态监视进程活动信息与系统负载等信息
# 第一行(uptime)
"""
系统时间 主机运行时间 用户连接数 系统1,5,15分钟平均负载
"""
- 加锁
chattr +a test
chattr -a test
# 参数
"""
aAcCdDeijsStTu
"""
- linux时间
# 将linux客户端时间和阿里云服务器时间同步(修改客户端时间)
ntpupdate -u ntp.aliyun.com
# 将linux硬件时间和客户端时间同步
"""
1 . 以系统时间为基准,修改硬件时间
hwclock -w
2 . 以硬件时间为基准,修改系统时间
hwclock -s
"""
- yum
能够从指定的服务器自动吓到RPM包并且安装,可以自动处理依赖关系,并且一次性安装所有的依赖
# 使用
"""
1.先备份yum源
mkdir repo_bak
mv *.repo repo_bak # *.repo:所有以repo结尾的隐藏文件
2.下载阿里repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
3.清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache
4.安装软件扩展源
yum install -y epel-release
"""
- 软件包
# 各个系统下面软件包的格式
# 1. windows
.exe / .msi
# 2.mac
.dmg
# 3.linux
.rpm
- 小知识
yum install lrzsz # 下载lrzsz工具包
rz # 上传文件
sz # 下载文件
- wget
# wget命令用于再终端下载网络文件
# 使用方法
# 参数是 wget [参数] 下载地址
# 实例
wget -r -p http://www.58.com # 递归下载
用户管理和文件权限
- 用户管理
# user 拥有root的权限
"""
1. 在sudoers中配置授权用户,用visudo进入此文件的vim模式
2.用/root找到授权配置
3.将授权用户添加进去
4.授权用户在使用root权限时,应该先在前面使用sudo ,如sudo useradd -bbb
"""
# 添加用户
useradd username
# 切换用户
su username
# 退出登录
logout
- 文件权限
chmod u+r test.py # 给主添加读的权限
chmod g+w test.py # 给组添加写的权限
chmod o+x test.py # 给other添加执行的权限
chmod 777 test.py # 给主,组,other添加读写执行的权限
- 软链接
# 用法
ln -s 源目录地址 /user/bin/rename
# 举例
ln -s /opt/python3.6 /user/bin/pyhton
- 配置环境变量
# 先cd到用户的家目录下面
# vim ~/.bash_profile 进入配置文件的vim模式
# 配置需要添加的环境变量
- tar
# 参数
"""
-v:详情
-c:压缩
-x:解压
-z:使用gzip工具进行压缩
"""
# 实例
# 压缩文件
tar -cf filename
# 解压文件
tar -xvf filename
# 进一步压缩,通过gzip
tar -zxvf filename # 获取到.tar.gz后最的文件
# 解压.tar.gz后最的文件
方式1:gzip -d filename # 去掉.gz后缀,得到.tar后缀的文件按
tar -xvf filename
方式二:tar -zxvf filename.tar.gz
- history
history # 显示历史命令
!+历史命令的序号可以调用此命令
- netstat
# 查看服务器端口信息
- ps
ps -ef 查看服务器上进程信息,可以配合管道符或者grep进行过滤信息
# 参数
"""
-a 显示所有进程
-u 用户及其他详细信息
-x 显示没用控制终端的进程
"""
- kill
# 结束进程命令
kill -9 进程id
pkill 进程名 # 支持正则匹配
killall 进程名
- SELinux
# 查看selinux状态
getenforce
# 临时关闭
setenforce 1/0
# 永久关闭,(修改配置文件)
vim /etc/selinux/config
SELINUX=disable
- iptables
# 防火墙
iptables -L # 查看防火墙规则
iptables -F # 清空防火墙规则
# centos7默认使用firewall作为防火墙了
# 关闭防火墙
systemctl status firewalld # 查看防火墙状态
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 关闭防火墙,开机启动
- 中文乱码
# 1 .修改配置文件
vim /etc/locale.conf
# 2 .将LANG="en_US.UTF-8"改为LANG="zh_CN.UTF-8"
# 3 .重新加载配置文件
source /etc/locale.conf
- dns
# 域名解析系统
# 工作原理:
"""
1 我们要想访问www.baidu.com, 首先会去本地DNS缓存中查找
2 如果本地DNS缓存中没有,那就要去本地文件hosts文件中查找
3 如果本地hosts文件中也没有,那就会去公网的DNS服务器中找
4 如果公网DNS服务器中也没有,就说明此域名没有注册,没有办法访问
"""
- crontab
# 计划任务
# 格式
* * * * *
分 时 日 月 周
# 实例
#每晚的21:30重启nginx
30 21 * * * systemctl restart nginx
#每月的1,10,22日的4:45重启nginx
45 4 1,10,22 * * systemctl restart nginx
Linux基本命令大全的更多相关文章
- 转:Linux基本命令大全
Linux基本命令大全 新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容 ...
- linux 基本命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...
- 【Linux】Linux 资料大全(100% 纯干货)
作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14071875.html 本文章给大家分享一些 Linux 学习资料,包含:社区网站.在线教程.命令大全.在线模拟 ...
- 2015 - 2020 最新 Linux 命令大全
# 2015 - 2020 最新 Linux 命令大全 ## VIM 命令模式(Command mode):vi 插入模式(Insert mode):i底线命令模式(Last line mode):e ...
- Linux基本命令(一)
Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...
- 2 、Linux基本命令-ls-pwd-cd-date-hwclock
Linux基本命令: 1.ls-查看目录下的文档 语法: ls 目录 注: .当前目录 ..上级目录 如:ls /etc/ 相关参数: -l 显示详细信息 ls /etc/ -l -a 显示隐藏的 ...
- Linux基本命令 目录
Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...
- linux 基本命令 [转]
linux 基本命令 1.ls (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@lin ...
- linux指令大全(完整篇)(转)
http://blog.chinaunix.net/uid-9681606-id-1998590.html linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类: ...
随机推荐
- tomcat简单使用
下载解压tomcat[root@localhost]# tar zxf apache-tomcat-8.5.4.tar.gz -C /usr/local/tomcat yum自带JDK,注意区别JRE ...
- mysql锁机制(Innodb引擎)
InnoDB实现了两种类型的行锁. 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同的数据集的排他锁. 排他锁(X):允许获得排他锁的事务更新数据,但是组织其他事务获得相同数据集的共享锁和排他 ...
- C#动态设置webServer路径
using BD.SD_BJXYZY_PRO.WsbxService;using System;using System.Collections.Generic;using System.Linq;u ...
- 项目管理 - PM、 SRS、SOW简介及范例
PM在一个IT项目中的主要管理任务 http://blog.csdn.net/eaglezhang/article/details/1717171 计算机软件需求说明编制指南 http://blog. ...
- bugku题目“cookie欺骗”
先上成功截图 题目写的cookie欺骗,但其实是一道考察写脚本能力和代码审计类的题目,首先观察开始的页面 可以看到只有这一串字母,粗略观察可以认为这绝对不是密码,而是胡乱写上的字符,在观察页面源代码后 ...
- 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(三)数字拆分
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...
- find 查询文件,执行文件
使用find查询文件批量处理文件: Find . -mtime +2 -name “*.log.*” -exec rm -f {} \; Find参数: Find : 查找 . : 当前目录 -mti ...
- 冒泡排序&&选择排序
package cn.lijun.demo;//冒泡排序public class Test5 { public static void main(String[] args) { int[] arr ...
- Visual Studio学习记录
1,一些快捷键记录 1,折叠 ctrl+M+A: 折叠所有代码[官方名:折叠所有大纲提示] ctrl + M + O:折叠全部代码[官方:折叠到定义],但是这个貌似只能折叠代码,xml之类的无效.m+ ...
- 第44章:MongoDB-集群--Sharding(分片)--分片的片键选择
①片键选择的重要性 所谓片键,就是用来拆分数据的字段,通常为1-2个字段,由于片键一旦确定,并已经分片过后,基本上就不可能再修改片键了,因此初期设计和选择就非常重要了 ②片键规则 1:不可以是数组 2 ...