前言:Linux主要应用于服务器端,嵌入式开发和个人pc桌面端

本人wechat:YWNlODAyMzU5MTEzMTQ=


GPL

GPL是一个开源许可协议,由自由软件基金会创建的。GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。



服务

开机启动的重要服务:sshd,rsyslog,network,crond,sysstat

chkconfig --list # 列出所有系统服务
chkconfig --list sshd # 查看ssh服务
chkconfig --level 3 sshd off # on设置ssh在等级3为开机自启动服务,off为关闭 # ssh服务
/etc/ssh/sshd_config
port 52113
UseDNS no
PermitRootLogin no
ListenAddress 192.168.1.17
GSSAPIAuthentication no
/etc/init.d/sshd restart

常用命令80个

Linux三剑客

grep "abc" test.txt test2.txt # 分离出含有abc字符串
grep -v "abc" test.txt # 分离出不含abc字符串
grep -E "[a-z]+" test.txt # 根据正则表达式分离 # sed是一种流编辑器,处理时把当前处理的行放到临时缓冲区中,
# 处理完成后把缓冲区内容送往屏幕,默认文件内容没有改变,除非使用重定向
sed 's/hhh/aaa/' test.txt # 把每一行第一个hhh替换成aaa
sed -i 's/hhh/aaa/g' test.txt # 把所有的hhh替换成aaa,-i参数改变文件内容
sed '/^test/'d test.txt # 删除所有开头是test的行
sed '/^$/d' test.txt # 删除空白行
sed '2d' test.txt # 删除第2行
sed '$d' test.txt # 删除最后1行
sed '2d,$d' test.txt # 删除第2到最后1行之间所有行
sed -n '20,30p' test.txt # 打印文件20到30行之间的内容
# 把递归查找到的所有test.txt中所有的alex替换成lema
sed -i 's/alex/lema/g' `find . -name "test.txt"` awk -F ':' '{print $NF,$(NF-1)}' /etc/passwd # 打印最后两列
awk '{if(NR>19&&NR<31) print $0}' test.txt # 打印20到30行的整行内容

文件目录管理

####################增####################

touch把已存在文件的时间更新为当前系统时间或者创建新文件

cp sshd_config sshd_config.lema.20180301 # 备份

mkdir -p /home/lema/test/core # 递归创建目录
mkdir stu{1..100} # 创建100个目录 ####################删#################### rm -fr / ####################查#################### diff比较两个文本文件的不同,如果比较的是目录则会比较两个目录是否有同名的文件
vimdiff test.txt test2.txt tree以树状图打印目录的内容 cat >>test.txt<<EOF
>aaa
>bbb
>EOF head -3 test.txt
less test.txt
more test.txt
tail显示指定文件的最后10行,若不加指定文件则读取标准输入 # 按照名字在指定目录下查找文件
find . -name "*.log" -o -iname "*.txt" # -o参数表示或者,-a表示并且
find . ! -name "*.log" -o ! -iname "*.txt"
# 按照文件类型和时间查找文件
find . -type f -atime -7 # 在最近7天内被访问过的文件
find . -type f -atime +7 # 在超过7天之前被访问过的文件
find . -type f -atime 7 # 恰好在7天前被访问过的文件
find /home/lema -type f -exec rm -f {} \; updatedb
locate /etc/sh # 搜索etc目录下所有以sh开头的文件,比find查找更快
# 不搜索具体目录而是搜索数据库/var/lib/locatedb ####################改#################### mv剪切文件或重命名文件 >test.txt # 清空文件内容 # >重定向,>>追加重定向,<<追加输入重定向,<输入重定向
# 标准输入0,标准正常输出1,标准错误输出2
echo "hhh" 1>./test.txt 2>./test2.txt

查看系统和硬件信息

uname打印当前系统相关信息(内核版本号,硬件架构)
[root@localhost ~]# uname -a
Linux localhost 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
# 2表示主版本号,有结构性变化才更改,6表示次版本号,新增功能时才变化,
# 32表示对次版本的修订次数或补丁包数,504代表编译的次数,el代表企业版Linux env # 显示系统已存在的环境变量

权限管理

u:User,即文件或目录的拥有者;
g:Group,即文件或目录的所属群组;
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a:All,即全部的用户,包含拥有者,所属群组以及其他用户;
r:读取权限,数字代号为“4”;
w:写入权限,数字代号为“2”;
x:执行或切换权限,数字代号为“1”;
-:不具任何权限,数字代号为“0”;
s:特殊功能说明:变更文件或目录的权限。 chmod u+x,g+r test.txt
chmod 770 test.txt chown -R lema test.txt # 改变某文件的所有者和所属组 sudo # 在/etc/sudoers中设置了可执行sudo指令的用户
visudo # vi /etc/sudoers
root ALL=(ALL) ALL # sudo su root chattr +i /etc/passwd /etc/inittab # 改变文件属性
lsattr # 查看文件的第二扩展文件系统属性

shell管理

xargs将标准输入数据转换成命令行参数
cat test.txt|xargs -n3 # 格式化输出
find /root/data -type f|xargs rm -f HISTSIZE=5 # 设置history只显示5条历史命令
HISTFILESIZE=3 # 设置~/.bash_history文件中只保存3条历史命令
history # 显示之前用过的命令
!304 unalias cp # 取消别名
alias # 查看已经设置的别名 whereis cd # 用来定位指令的二进制程序,源代码文件及man手册页的路径
which chattr ulimit -n # 限制用户对shell资源的访问

软件安装卸载

# yum是在Fedora和redhat以及suse中基于rpm的软件包管理器,
# 能够从指定的服务器自动下载rpm包并且安装,自动处理依赖关系。
yum grouplist # 显示已安装程序组
yum groupinstall # 安装程序组
yum install tree -y # -y参数对所有的提问都回答yes # rpm是rpm软件包的管理工具
rpm -ivh packagesname.rpm
rpm -qa|grep sql # 检查是否安装带sql的软件包 # apt-get是Debian Linux发行版中的apt软件包管理工具。Debian软件库存在互联网上的一些公共站点上,
# /etc/apt/sources.list是存放这些地址列表的配置文件

进程管理

# init进程是所有Linux进程的父进程,进程号为1,系统中的第一个进程

# ps报告当前系统的进程状态
ps -e # 显示所有程序
ps -ef |grep ssh # -f参数显示UID,PPIP,C与STIME栏位 kill # 删除执行中的程序和工作

网络管理

ping www.zhihu.com # 执行ping指令会使用ICMP传输协议,发出要求回应的信息测试网络连通性

ifconfig eth0 down
ifconfig eth0 up
ifup eth0激活网络接口eth0
ifdown eth0禁止指定的网络接口eth0
/etc/init.d/network restart
/etc/init.d/networking restart netstat -lntup # 查看开放的端口

系统管理

halt
shutdown -h 11:50
reboot runlevel # 查看当前系统运行的级别
init 6 # 进程初始化,切换到运行等级6
#0 停机(绝对不能把initdefault设置为0)
#1 单用户模式
#2 多用户,没有NFS
#3 完全多用户模式
#4 没有用到
#5 x11(Xwindows)
#6 重新启动(绝对不能把initdefault设置为6) ntpdate ntp.api.bz # 时间同步
date # 显示系统时间
hwclock -w # 显示硬件时钟时间,-w参数与系统时钟同步

用户管理

useradd lema -g a -G b # -g指定群组,-G指定附加群组
passwd -l lema # 设置用户lema不能更改密码
userdel -r lema # 删除用户连同其家目录文件
su lema # 切换用户 id lema # 显示用户id和组id

其它

seq -s '/' 1 2 10 # 产生奇数列

setup # 启动图形界面设置系统配置服务

# scp在Linux下远程拷贝文件,scp传输加密
# 从远处复制文件到本地目录
scp root@192.168.1.101:/home/lema/test.py /home/akast/
# 从远处复制目录到本地目录
scp -r root@192.168.1.101:/home/lema /home/akast lrzsz 查看系统用户登录信息
非常危险的系统命令
基础网络操作
深入网络操作
搜索文件
文件压缩及解压
系统安全
系统性能监视
线上查询及帮助
信息显示
用户管理
磁盘文件系统

Linux命令2018-03-01更新的更多相关文章

  1. 排查问题所用到的一些Linux命令实践(不定期更新。。)

    一.前言 线上问题排查可能是每个程序员都会经历的.在排查的过程中,往往会用到很多Linux命令,也会产生一些很实用的技巧.本博文通过分析一次线上问题排查的过程,把所有用到的命令串起来.每个Linux命 ...

  2. 每天一个Linux命令(03)--pwd

    linux 中用 pwd命令来查看“当前工作目录”的完整路径.简单地说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判断当前目录在文件系统内的确切位置. ...

  3. 每天一个Linux命令(03):du命令

    du命令 今天找开发定位问题,看到他使用了这个命令,查看文件,之前知道df,所以今天的每天系列把这命令 du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空 ...

  4. linux 命令小结(随时更新)

    代码备份命令: tar cvf 备份文件名 要备份的目录名 查看Linux服务器内存使用情况: 1.free命令 free -m [root@localhost ~]# free -m        ...

  5. 路由器终端常用linux命令汇总(持续更新)

    ls:显示文件名与相关属性 ls -al;ls -l;ls -a 第一列: d:表示目录,dir. -:表示文件. l:表示链接文件,linkfile. 接下来的字符三个为一组,且均为rwx这3个字母 ...

  6. Cheatsheet: 2018 03.01 ~ 2018 03.31

    Docker A Developer's Guide to Docker: A Gentle Introduction The Advantages of Using Kubernetes and D ...

  7. 【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

    --------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch ...

  8. 总结工作中常见的linux命令

    本文是总结下自己在工作中遇到的常见linux 命令,会持续更新! 1.文件路径切换 进入 cd 返回上一级  cd .. 2.复制 cp 源文件名 目标文件夹 cp log.log test5 3.编 ...

  9. 2018/03/27 每日一个Linux命令 之 cron

    Cron 用于配置定时任务. -- 环境为 Ubuntu16-04 -- 先说说怎么配置一个简单的定时任务.直观的可以看到效果. 之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路 ...

  10. 2018/03/11 每日一个Linux命令 之 top

    每日一个Linux命令 之 top   今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行? 上去一看,PHP ...

随机推荐

  1. excel数据生成sql insert语句

    excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age . 在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: ...

  2. SVM学习笔记(二)----手写数字识别

    引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考 ...

  3. 什么是 jQuery 和jQuery的基本选择器,层级选择器,基本筛选器

    jQuery是什么? [1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2]   jQuery是继prototype ...

  4. LeetCode:棒球比赛【682】

    LeetCode:棒球比赛[682] 题目描述 你现在是棒球比赛记录员.给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数.2. " ...

  5. ES集群重启

    操作步骤: 1. Disable shard allocation curl -XPUT 'localhost:9200/_cluster/settings?pretty' -d '{  " ...

  6. Spring中的定时调度(Scheduling)和线程池(Thread Pooling)

    使用triggers和SchedulerFactoryBean来包装任务 我们已经创建了job details,jobs.我们同时回顾了允许你调用特定对象上某一个方法的便捷的bean. 当然我们仍需要 ...

  7. 每天学点Linux命令之grep 和 wc命令 ---(6/25)

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  8. MySQL行级锁和表级锁

    锁定用于确保事务完整性和数据库一致性. 锁定可以防止用户读取其他用户正在更改的数据,并防止多个用户同时更改相同的数据. 如果不使用锁定,数据库中的数据可能在逻辑上变得不正确,而针对这些数据进行查询可能 ...

  9. 使用POI做的一个生成Excel的工具类。包含了导出Excel和解析Excel方法

    PoiExcelUtils.java /** * */ package com.common.office; import java.io.File; import java.io.FileInput ...

  10. vim终端复制_不开启xterm_clipboard的解决方式

    后来发现了另外的方法,比这个更好==> 完美解决vim在终端不能复制的问题 http://www.cnblogs.com/cheerupforyou/p/6958695.html 使用xsehl ...