Linux基础(二)之命令
01-基础命令
1. 创建一个目录
mkdir /data
创建多级目录
mkdir -p /oldboy/data 2. 查看目录里面的内容
ls /data 3. 查看目录里面的详细信息
ls -l /data 4. 进入到某个目录
cd /data 5. 显示当前位置
pwd 6. 创建文件、更新文件的时间戳
touch /data/hyp.txt 7. 编辑文件
vi /data/hyp.txt
按 i 进行插入模式,按esc键,输入 :wq 保存退出,:q 退出,:q! 强制退出,:wq! 强制保存退出 8. 查看文件hyp.txt内容
cat hyp.txt 9. echo+内容 会把内容显示到屏幕上
echo hello world
echo hello world >>/data/hyp.txt 追加到文件里
>> 追加重定向
cat >>/data/hyp.txt <<EOF 追加多行(EOF表示结束标记) 10. 重定向符号
> 标准输出重定向 (先清空文件里的内容,再写入内容)
>> 追加重定向 11. 复制
cp /data/hyp.txt /tmp 12. 备份hyp.txt文件
cp /data/hyp.txt /data/hyp.txt.bak 13. 复制目录及目录下的内容
cp -r /data/ /tmp/
cp -a /data/ /tmp/ -r 递归复制,复制目录及目录里面的内容
-a 复制所有,相当于-pdr,
-p 复制,保持属性不变 14. 移动
mv /data/ /root/ 15. 删除文件
rm hyp.txt
rm -f hyp.txt
删除目录
rm -rf data/ 16. 查找
find /root/ -type f -name "hyp.txt"
参数:
-type 找什么类型的
f 文件
d 目录 17. 管道 |
作用:把前面命令的结果,传递给后面的命令
find /root/ -type f -name "hyp.txt" | xargs ls -l
找出所有的.txt的文件
find /root/ -type f -name "*.txt" 18. 过滤出oldboy内容
grep "oldboy" text.txt
排除hello
grep -v "oldboy" text.txt 19. 提取文件内容head
head text.txt (默认取出前10行)
提取文件的前2行
head -2 text.txt 20. 从文件末尾提取
tail text.txt (取出最后10行) 21. awk '/oldboy/' text.txt
awk '!/oldboy/' text.txt 同grep含义一样,awk中!表示取反 22. sed
sed '/oldboy/d' text.txt 删除oldboy 23. 在覆盖文件时,不提示是否覆盖的方法
① 撬棍 :
\cp /tmp/text.txt /mnt/
② 使用命令的绝对路径
which cp # 查找命令cp的位置
/bin/cp /tmp/text.txt /mnt/ 24. 如何设置系统中的别名
# 查看系统中的别名
alias
# 设置别名,模仿:在用rm命令的时候提示do not use rm
alias rm='echo do not use rm'
# 永久生效:写入到文件/etc/profile
vim /etc/profile
在最后一行 写入 alias rm='echo do not use rm'
source /etc/profile # 生效
# 填坑
vim /root/.bashrc
将 alias rm='rm -i' 注释 25. 只查看ett.txt文件(共100行)的第20到第30行命令
seq 100 >/oldboy/ett.txt
方法1:sed默认会显示所有内容,-n 取消默认输出
# 显示第20行
sed -n '20p' /oldboy/ett.txt
# 显示20-30
sed -n '20,30p' /oldboy/ett.txt 方法2:
head -30 /oldboy/ett.txt | tail -11 方法3:
awk 'NR==20, NR==30' /oldboy/ett.txt # NR表示行号 方法4:-A10 表示显示出grep过滤的内容以及接下来的10行
grep -A10 "" /oldboy/ett.txt 26. sed修改文件内容
sed -i 's#oldboy#oldgirl#g' /oldboy/t.sh
find /oldboy/ -type f -name "*.sh" |xargs sed -i 's#oldboy#oldgirl#g' 27. linux命令大全
网址:http://man.linuxde.net 28. 查看Linux系统版本
cat /etc/redhat-release
查看内核版本
uname -r
uname -m
02-变量与PS1
PS1 系统的环境变量,控制命令行的样式 echo $PS1 查看变量的内容 # 设置PS1的值
PS1='[\u@\h \W \t]\$'
03-添加用户
# 添加普通用户
useradd hyp # 检查用户是否存在
id hyp # 设置密码
passwd hyp # 切换用户
su - hyp # 查看当前用户
whoami # 退出当前用户,注销
快捷键 Ctrl+d
04-关闭SELinux
# 临时关闭,重启服务器会失效
# 查询selinux的状态
getenforce
结果为:Enforcing 表示selinux正在运行
Permissive 表示selinux临时关闭
Disabled 表示selinux彻底关闭 # 设置selinux的状态
setenforce 0
1表示打开,0表示关闭 # 永久关闭,重启服务器会生效
vim /etc/selinux/config
把 SELINUX=enforcing 改成 SELINUX=disabled
05-防火墙IPtables
# 服务器对外使用,有外网,需要开启防火墙 # 并发高,开启防火墙 # 内网,关闭防火墙
--------------------------------------------
# 临时关闭,重启服务器会失效
# 查看防火墙是否在运行
/etc/init.d/iptables status # 临时关闭防火墙
/etc/init.d/iptables stop (建议关闭两次)
---------------------------------------------
# 永久关闭,
# 查询iptables是否是开机自动运行
chkconfig |grep iptables # 关闭iptables的开机自启动
chkconfig iptables off
06-显示中文乱码排查过程
# 查看系统的字符集
echo $LANG
结果为:en_US.UTF-8 # 修改字符集
# 临时修改,改为 中文环境
export LANG=zh_CN.UTF-8 # 永久修改 (不要修改)
# 查看
cat /etc/sysconfig/i18n # 生效
source /etc/sysconfig/i18n
# 乱码产生的原因?
1. Linux使用的字符集 与 远程连接工具使用的字符集 的不同,就会导致乱码 # 解决:
方法1:修改 远程工具的字符集
方法2:修改 Linux的字符集
07-Linux目录结构
目录结构的特点:
1. 一切从根开始
2. Linux中每个设备可以挂在任何目录上面
3. Linux下面的磁盘/设备没有挂载,则无法使用 # 把光盘挂载到目录
mount /dev/cdrom /mnt/
-----------------------------------------
目录简介:
# 安装tree
yum install tree
08-核心目录文件 - /etc
# 网卡的配置文件
cat /etc/sysconfig/network-scripts/ifcfg-eth0
yum install tree 报错的解决方法: # 修改网卡配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加
DNS1=223.5.5.5
DNS2=223.6.6.6 # 网卡配置生效=重启网卡
ifdown eth0 && ifup eth0
或者 重启所有网卡
/etc/init.d/network restart
8.2 /etc/resolv.conf
8.3 /etc/hosts 在测试的时候使用
vim /etc/hosts 插入:
10.0.0.200 www.taobao.com www.jd.com
8.4 /etc/sysconfig/netwaork/ - 修改主机名的文件
8.5 /etc/fstab - 开机自动挂载的文件
8.6 /etc/rc.local
/etc/rc.local
作用:开机自动运行的文件
8.7 /etc/inittab
8.8 系统环境变量别名profile
09-Linux安装软件的方法user-local
10-系统日志系列
11-虚拟目录
12-Linux的启动过程
13-PATH环境变量
命令:env 常用的环境变量:LANG、PS1、PATH PATH:存放的是命令的路径 命令:etho $PATH
14-练习题
命令:
tree:以树形显示目录结构
-L:最多显示几层目录
-d:只显示目录 rpm:rpm包管理命令
-qa:查询
-ql:查询软件包里面的内容
1. 如何过滤出已知当前目录下oldboy中的所有第一级目录
命令:
方法1:tree -dL -1 /oldboy/
方法2:find -maxdepth 1 -type d ! -name "."
方法3:ls -l|grep "^d"
方法4:ls -l|awk '$2>1'
方法5:ls -F|grep "/" 2. 快速回到上一次的所在位置/目录
命令:cd - 相当于 cd $OLDPWD 3. 一个目录有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件。
命令:ls -lrt
参数:-r :逆序
-t :按照文件的修改时间进行排序
4. 已知apache服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留最近7天的访问日志,请问如何解决?
(提示:可以从apache服务配置上着手,也可以从生成出来的日志着手。)
命令:
方法1:find -type -f -name "*.log" -mtime +7 |xargs ls -l # 筛选出7天之前的日志
方法2:ls -l $(find -type f -name "*.log" -name +7)
方法3:find -type f -name "*log" -mtime +7 -exec ls -l {} \; 5. 调试系统服务时,希望能实时查看系统日志/var/log/messages 的更新,如何做?
命令:tail -f /var/log/messages
参数:-f:显示文件的实时更新
tail -f === tailf 6. 打印配置文件 nginx.conf 内容的行号及内容,该如何做?
命令:
方法1:cat -n nginx.conf
方法2:vi/vim ---》 :set nu # 显示行号
方法3:grep -n "." nginx.conf
方法4:awk '{print NR, $0}' nginx.conf
方法5:sed '=' nginx.conf |xargs -n2 7.
Linux基础(二)之命令的更多相关文章
- Linux基础知识与命令1(su passwd)
一.Linux的基本原则 1.linux由一个个目的单一的小程序组成,我们一般需要组合小程序来完成复杂的任务 2.Linux的一切都是文件(文件类似于一棵树,包括外设,接口) 3.Linux尽量避免捕 ...
- 《Linux基础知识及命令》系列分享专栏
<Linux基础知识及命令>系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂.本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级 ...
- Linux基础二:初识linux命令
一.UNIX和Linux操作系统概述 1.UNIX是什么 1)UNIX的定义: UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2)UNIX操作系统的特点:多用 ...
- Linux基础二(挂载、关机重启与系统等级)
一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...
- linux 基础知识及命令总结
1.mkdir 创建目录 -p 创建多级目录 mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, ...
- Linux 基础教程 42-xargs命令
xargs是execute arguments的缩写,主要作用是从标准输入中读取内容,并将此内容传递给它要协助的命令,并作为要协助命令的参数来执行. 基本语法 xargs [选项] [命令] ...
- Linux 基础——关机重启命令shutdown、reboot等
一.关机重启命令的作用 相信对于接触过电脑的人来说,特别是对于windows系统来说,如果长时间使用不经重启的话会出现一点点卡顿的感觉.但是当重启整个系统后,这点点卡顿的感觉好像又没了,重启后wind ...
- 后端程序员必备的 Linux 基础知识+常见命令(近万字总结)
大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要 ...
- 【Linux基础】tr命令替换和删除字符
1.tr命令 tr可以对来自标准输入的字符进行替换.压缩和删除,可以将一组字符变成另外一组字符.通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其 ...
随机推荐
- Java 基本的数据类型(8种)
1.Java 基本的数据类型(8种) 整型:byte .short .int .long 浮点型:float .double 字符型:char 布尔型:boolean
- 笔记 前端的$dom操作
jqueryDOM操作 1. 页面加载 函数 $( function(){ 具体内容 } ); 表示页面加载函数 2 dom 类操作 text() - 设置或返回所选元素的文 ...
- MFC的一些常用操作
一.添加消息 MFC和win32不同的一点是MFC采用的是消息的映射机制,即每一个消息都和处理的函数做了映射,我们可以通过查找的方式来得到消息的对应的函数,当然MFC提供了一个非常简便的方法,我们通过 ...
- three.js之性能监视器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 严格次小生成树[BJWC2010]
原文必点 原题链接 题目描述 给定一张\(N\) 个点$ M $条边的无向图,求无向图的严格次小生成树. 设最小生成树的边权之和为\(sum\),严格次小生成树就是指边权之和大于\(sum\)的生成树 ...
- yii\base\InvalidCallException The cookie collection is read only.
Invalid Call – yii\base\InvalidCallException The cookie collection is read only. 在使用Yii2进行cookie操作时会 ...
- Python3-Set
# Set(集合) # 集合(set)是一个无序不重复元素的序列. # 基本功能是进行成员关系测试和删除重复元素. # 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须 ...
- V2018.5 MB SD C4功能和软件详细信息更新
MB SD C4 现在更新为V2018.5版本.功能和HDD Xentry软件信息如下: V2018.5 MB SD C4 功能: 支持无线诊断: 支持K线诊断,CAN BUS和UDS诊断协议.(旧的 ...
- docker stack /swarm 替代 docker-compose 进行部署
之前一直用docker-compose开发了几个单例的service, 今天开始压力测试, 结果发现postgres的CPU负载很重, 就想设置cpus 结果发现docker-compose V3之后 ...
- 用python进行服务器的监控
用python进行服务器的监控 在linux服务器中,一切皆为文件,就是说,服务器运行的个中信息,其实是可以从某些文件中查询得到的:百度后,你会知道,在Linux系统中,有一个/proc的虚拟文件系统 ...