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. tomcat简单使用

    下载解压tomcat[root@localhost]# tar zxf apache-tomcat-8.5.4.tar.gz -C /usr/local/tomcat yum自带JDK,注意区别JRE ...

  2. mysql锁机制(Innodb引擎)

    InnoDB实现了两种类型的行锁. 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同的数据集的排他锁. 排他锁(X):允许获得排他锁的事务更新数据,但是组织其他事务获得相同数据集的共享锁和排他 ...

  3. C#动态设置webServer路径

    using BD.SD_BJXYZY_PRO.WsbxService;using System;using System.Collections.Generic;using System.Linq;u ...

  4. 项目管理 - PM、 SRS、SOW简介及范例

    PM在一个IT项目中的主要管理任务 http://blog.csdn.net/eaglezhang/article/details/1717171 计算机软件需求说明编制指南 http://blog. ...

  5. bugku题目“cookie欺骗”

    先上成功截图 题目写的cookie欺骗,但其实是一道考察写脚本能力和代码审计类的题目,首先观察开始的页面 可以看到只有这一串字母,粗略观察可以认为这绝对不是密码,而是胡乱写上的字符,在观察页面源代码后 ...

  6. 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(三)数字拆分

    #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...

  7. find 查询文件,执行文件

    使用find查询文件批量处理文件: Find . -mtime +2 -name “*.log.*” -exec rm -f {} \; Find参数: Find : 查找 . : 当前目录 -mti ...

  8. 冒泡排序&&选择排序

    package cn.lijun.demo;//冒泡排序public class Test5 { public static void main(String[] args) { int[] arr ...

  9. Visual Studio学习记录

    1,一些快捷键记录 1,折叠 ctrl+M+A: 折叠所有代码[官方名:折叠所有大纲提示] ctrl + M + O:折叠全部代码[官方:折叠到定义],但是这个貌似只能折叠代码,xml之类的无效.m+ ...

  10. 第44章:MongoDB-集群--Sharding(分片)--分片的片键选择

    ①片键选择的重要性 所谓片键,就是用来拆分数据的字段,通常为1-2个字段,由于片键一旦确定,并已经分片过后,基本上就不可能再修改片键了,因此初期设计和选择就非常重要了 ②片键规则 1:不可以是数组 2 ...