Linux - Tips
01 - Linux basename命令与dirname命令
- dirname命令:获取指定路径的目录部分
- basename命令:语法“basename string [suffix]”,删除string中以“/”结尾的前缀以及指定的suffix,并将剩余的部分写至标准输出。
02 - Linux文件已经被删除,为什么还是可以被locate出来?
locate命令不是直接在目录中找寻文件,而是通过缓存(包含了被删除文件的信息)来查找。
虽然删除了文件,但缓存中还有文件的相关信息,所以locate出来仍然有结果。将Server重启后,缓存被更新,就不会找到了。
03 - Linux压缩与解压文件
tar cf file.tar files --- 创建包含files的tar文件
tar czf file.tar.gz files --- 创建包含files的tar.gz文件
tar xf file.tar --- 从file.tar提取文件
tar xzf file.tar.gz --- 从file.tar.gz提取文件
gzip file --- 压缩file并重命名为file.gz
gzip -d file.gz --- 将file.gz解压为file
04 - Linux显示ascii编码表
显示ascii编码表: man ascii
05 - Linux文件格式转换
# 不改变文件时间戳
dos2unix -k file
# 当前目录批量格式转换
dos2unix file1 file2 file3
dos2unix *
dos2unix *.py
# 递归目录批量格式转换
find public/components/ -name "*" | xargs dos2unix
find public/components/ -name "*.py" | xargs unix2dos
06 - Linux设置Ubuntu初始root密码
Ubuntu安装过程中并不会要求设置root密码,每次Ubuntu开机都会生成一个随机密码作为默认root密码。
可以利用“sudo passwd”命令设置root密码。
07 - apt-get命令执行异常,导致资源被锁不可用
报错信息如下:
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
通过删除锁定文件来完成解锁:
# rm -rf /var/cache/apt/archives/lock
# rm -rf /var/lib/dpkg/lock
08 - LVS and keepalived
LVS(Linux Virtual Server)通过创建虚拟服务器的方式来实现服务节点之间的负载均衡,提供高可伸缩的、高可用的网络服务。
LVS是基于linux内核实现的,2.6.X内核默认集成了lvs模块,LVS常用负载均衡的实现是基于ip协议的,所以一般称为IPVS。
LVS集群有DR、TUN、NAT三种配置模式,可以对www服务、FTP服务、MAIL服务等做负载均衡。
配置LVS集群就是在负载均衡服务器上建一个虚拟ip,然后用ipvsadm(lvs的配置工具)建立转发规则,keepalived实现高可用性(HA)。
- LVS:http://www.linuxvirtualserver.org/
- ipvsadm(用户配置工具):http://www.linuxvirtualserver.org/software/ipvs.html
- keepalived:http://www.keepalived.org/
- LVS+Keepalived配置文件详解:http://www.ituring.com.cn/article/179808
09 - 性能测试常用命令
sysstat
# 安装
yum list sysstat
yum install sysstat
# 帮助信息
man sysstat
sar -h
# 常用命令(在“/var/log/sa”目录执行)
# cpu
sar -q -f sa08
sar -p -f sa08
# mem
sar -r -f sa08
sar -B -f sa08
sar -W -f sa08
# IO
sar -b -f sa08
sar -d -f sa08
# Network
sar -n DEV -f sa08
sar -n NFS -f sa08
评估磁盘IO性能
# dd(device to device)和hdparm命令可以简单测试磁盘的IO读写速度
dd -h
hdparm --help
# iostat工具观察磁盘的读写速度和IO使用率
iostat --help
10 - 将命令执行结果在屏幕输出的同时保存到文件
# tee --help
Usage: tee [OPTION]... [FILE]...
Copy standard input to each FILE, and also to standard output.
-a, --append append to the given FILEs, do not overwrite
-i, --ignore-interrupts ignore interrupt signals
--help display this help and exit
--version output version information and exit
If a FILE is -, copy again to standard output.
Report bugs to <bug-coreutils@gnu.org>.
举例说明:
- 直接覆盖日志文件log.txt:
ls -l | tee log.txt - 将输出内容附加到日志文件 log.txt:
ls -l | tee -a log.txt
需要注意的是:此时log.txt文件中只包含有ls –l命令的标准输出信息(stdout),没有标准错误信息(stderr)。
11 - Linux文件和目录的颜色代表的含义
约定的默认颜色:
- 白色:表示普通文件
- 蓝色:表示目录
- 绿色:表示可执行文件
- 红色:表示压缩文件
- 浅蓝色:链接文件
- 红色闪烁:表示链接的文件有问题
- 黄色:表示设备文件
- 灰色:表示其他文件
12 - Linux CentOS中升级FireFox
yum erase firefox # 先卸载
yum install firefox # 再安装
13 - 创建用户并添加到Sudo组
创建用户并添加到Sudo组, 能够使用户在本地不用密码就能执行sudo命令.
以在CentOS7中添加gerrit用户为例:
[Anliven@mt101 ~]$ sudo adduser gerrit
[Anliven@mt101 ~]$ sudo passwd gerrit
Changing password for user gerrit.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[Anliven@mt101 ~]$ su - gerrit
Password:
[gerrit@mt101 ~]$
[gerrit@mt101 ~]$ exit
logout
[Anliven@mt101 ~]$
[Anliven@mt101 ~]$ sudo visudo
[Anliven@mt101 ~]$ sudo cat /etc/sudoers |grep gerrit
gerrit ALL=(ALL) NOPASSWD: ALL
[Anliven@mt101 ~]$
14 - 问题处理:sonar is not in the sudoers file. This incident will be reported.
处理方法:将用户添加到sudo组
[root@node201 ~]# visudo
[root@node201 ~]# cat /etc/sudoers |grep "sonar"
sonar ALL=(ALL) ALL
[root@node201 ~]#
15 - CentOS7修改主机名
临时生效(重启失效)
[root@localhost ~]# hostname node101
[root@localhost ~]# hostname
node101
[root@localhost ~]# exec bash
[root@node101 ~]# hostname
node101
[root@node101 ~]#
永久生效
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]#
[root@localhost ~]# hostnamectl set-hostname node102
[root@localhost ~]# exec bash
[root@node102 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 node102
192.168.16.102 localhost localhost.localdomain localhost4 localhost4.localdomain4 node102
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 node102
[root@node102 ~]#
[root@node102 ~]# hostname
node102
[root@node102 ~]#
Linux - Tips的更多相关文章
- 【Linux Tips】登陆,提示符,别名
1.Linux 的tty界面下的登陆界面设置 看了半天发现,原来每次ctrl+alt+F1进入的tty1刚开始显示的就是初始化的登陆界面,顿时有种想装扮下他的冲动,因为实在是太简单了点,不过我是个喜欢 ...
- [Linux Tips] 1. 查看端口
查看监听的端口 # netstat -lnp
- 常用Linux Tips(不定期更新)
查看本机所有开放端口 lsof -i -P | grep -i listen 查看一段文本单词出现频率 awk '{b[length($0)]++;total_lines++;for(i=1;i< ...
- [linux tips] puppet client ssl 证书过期
问题: [root@control-01 .ssh]# puppet agent -tv Warning: Unable to fetch my node definition, but the ag ...
- 每个极客都应该知道的Linux技巧
每个极客都应该知道的Linux技巧 2014/03/07 | 分类: IT技术 | 0 条评论 | 标签: LINUX 分享到:18 本文由 伯乐在线 - 欣仔 翻译自 TuxRadar Linux. ...
- 剖析 Linux hypervisor--KVM 和 Lguest 简介
慢慢弄清楚.. M. Tim Jones, 顾问工程师, Emulex Corp. M. Tim Jones 是一名嵌入式软件工程师,他是 Artificial Intelligence: A S ...
- Virtio: An I/O virtualization framework for Linux
The Linux kernel supports a variety of virtualization schemes, and that's likely to grow as virtuali ...
- 剖析 Linux hypervisor
hypervisor 之于操作系统类似于操作系统之于进程.它们为执行提供独立的虚拟硬件平台,而虚拟硬件平台反过来又提供对底层机器的虚拟的完整访问.但并不是所有 hypervisor 都是一样的,这是件 ...
- Enable a SQL Server Trace Flag Globally on Linux
https://www.mssqltips.com/sql-server-tip-category/226/sql-server-on-linux// Microsoft has recently r ...
随机推荐
- Windows Azure 服务器时间问题
最近一直在做学校的一个小项目,前期在没有服务器端的情况下意淫做出来了手机客户端.在寒假里使用ASP.NET快速做了一个网站并且设计好了需要使用其他内容,在Windows Azure上测试评估,为学校的 ...
- Centos6.6下安装MariaDB步骤,利用yum进行安装 第二篇
一.安装过程参考的相关文章: Centos 使用YUM安装MariaDB CentOS安装并设置MariaDB CentOS用yum安装.配置MariaDB MariaDB远程连接配置 ERROR 1 ...
- Mvc利用淘宝Kissy uploader实现图片批量上传附带瀑布流的照片墙
前言 KISSY 是由阿里集团前端工程师们发起创建的一个开源 JS 框架.它具备模块化.高扩展性.组件齐全,接口一致.自主开发.适合多种应用场景等特性.本人在一次项目中层使用这个uploader组件. ...
- UWP?UWP! - Build 2015有些啥?(1)
UWP?UWP! - Build 2015有些啥? Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令 ...
- Java设计模式8:迭代器模式
迭代器模式 迭代器模式又叫做游标(Cursor)模式,其作用是提供一种方法访问一个容器元素中的各个对象,而又不暴露该对象的内部细节. 迭代器模式结构 迭代器模式由以下角色组成: 1.迭代器角色 负责定 ...
- Cloneable接口和Object的clone()方法
为什么要克隆 为什么要使用克隆,这其实反映的是一个很现实的问题,假如我们有一个对象: public class SimpleObject implements Cloneable { private ...
- PyQt5应用与实践
一个典型的GUI应用程序可以抽象为:主界面(菜单栏.工具栏.状态栏.内容区域),二级界面(模态.非模态),信息提示(Tooltip),程序图标等组成.本篇根据作者使用PyQt5编写的一个工具,介绍如何 ...
- python property
python property 在2.6版本中,添加了一种新的类成员函数的访问方式--property. 原型 class property([fget[, fset[, fdel[, doc]]]] ...
- [ACM_动态规划] 最长上升子序列(LIS)
问题描述:给n个数,找出最长子序列并输出 问题分析:本题是DAG(有向无环图)最长路问题,设d[i]为以i结尾的最长链的长度,则状态转移方程为:d[i]=max{0,d[j]|j<i & ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...