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基本命令大全的更多相关文章

  1. 转:Linux基本命令大全

    Linux基本命令大全   新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容 ...

  2. linux 基本命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  3. 【Linux】Linux 资料大全(100% 纯干货)

    作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14071875.html 本文章给大家分享一些 Linux 学习资料,包含:社区网站.在线教程.命令大全.在线模拟 ...

  4. 2015 - 2020 最新 Linux 命令大全

    # 2015 - 2020 最新 Linux 命令大全 ## VIM 命令模式(Command mode):vi 插入模式(Insert mode):i底线命令模式(Last line mode):e ...

  5. Linux基本命令(一)

    Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...

  6. 2 、Linux基本命令-ls-pwd-cd-date-hwclock

    Linux基本命令: 1.ls-查看目录下的文档 语法: ls 目录 注: .当前目录  ..上级目录 如:ls /etc/ 相关参数: -l  显示详细信息 ls /etc/ -l -a 显示隐藏的 ...

  7. Linux基本命令 目录

    Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...

  8. linux 基本命令 [转]

    linux 基本命令 1.ls  (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@lin ...

  9. linux指令大全(完整篇)(转)

       http://blog.chinaunix.net/uid-9681606-id-1998590.html  linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类:  ...

随机推荐

  1. php实现仿百度分页

    本文主要和大家分享php实现仿百度分页的实例,先来看一下效果图. 基本策略 1, 首先要查询总记录数 2, 设置每页显示的数量并计算总页数 3, 增加一个get传值num代表当前访问的是哪一页,如果没 ...

  2. java 判断null和空

    判断null和空 org.apache.commons.lang3 if(StringUtils.isBlank(valuationMeasureUnitName)){ }

  3. STC项目风险分析

    一.引言 由于项目的实现具有不确定性,所以每个项目都是存在风险的. 项目实现过程中的复杂性以及项目内外许多变化的因素,都会造成项目实现过程中的风险. 如果不能对项目的风险进行很好的分析和管理,那么项目 ...

  4. Mysql常用命令 详细整理版

    Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database na ...

  5. H5canvas画类似心电图

    HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像,我们可以使用canvas来绘制类似心电图的东西. 效果图如下: <!DOCTYPE html> <ht ...

  6. jieba库的使用和好看的词元

    一.jieba库的使用与说明 1.jieba库基本介绍 jieba库是优秀的中文分词第三方库 -中文文本需要通过分词获得单个的词语         - jieba是优秀的中文分词第三方库,需要额外安装 ...

  7. 小白的CTF学习之路7——内存与硬盘

    前天去网吧跟朋友包宿,导致昨天一整天都报废,今天早上研究了一下nethunter导致手机成功变砖,感冒不停地咳嗽,这些理由应该足够我前两天拖更了吧,下面开始正题 磁盘学习路线 虚拟缓存 虚拟内存 节约 ...

  8. SEO百问

    SEO 的工作过程中,大家都会碰到很多这样或那样的问题,做 SEO 随着时间慢慢变长之后,知识会慢慢地积累,之前的问题也会慢慢的都被解答.这里是码动世界为大家整理的有关 SEO 百问百答. 1. 百度 ...

  9. BFS总结

    能够用 BFS 解决的问题,一定不要用 DFS 去做! 因为用 Recursion 实现的 DFS 可能造成 StackOverflow! (NonRecursion 的 DFS 一来你不会写,二来面 ...

  10. 当input中的type值为file时,各浏览器的表现形式不同

    如果想使各浏览器下的表现形式相同,需要对该input元素隐藏,然后再改元素下方添加标签.其html写法如下 <div class="input-file"> <i ...