Linux Command Backup
- User
- Structure
- linux command review
- 列出所有信号
- 找到名字后,kill
- 或者用ps找到
- kill同名进程
- 每隔一秒高亮显示网络链接数的变化情况
- 启动关闭制定网卡
- 关闭网卡并修改MAC地址
- 配置IP地址
- 显示当前路由器
- 添加网关
- 删除网关
- 下载到本地
- 显示TCP连接
- socket 摘要
- 列出所有打开的网络连接端口
- 显示所有UDP Sockets
User
- create an account
useradd shanshan
- delete an account
userdel shanshan
- Get the errors
creating mailbox fiel:file exists, you should :
userdel -r shanshan
sudo useradd -d /shanshan/test -m shan
- update password
sudo passwd shan
- check users
w
who
- shift user
su shan
- errors: shans is not in the sudoers file
check the sudoers location
whereis sudoers
chmod u+w /etc/sudoers
在root ALL=(ALL)ALL行下添加
shan ALL=(ALL)ALL
还原权限
chmod u-w /etc/sudoers
- swift the user
exit
Structure
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
linux command review
ls
ls -a
ls -all
# all files and directory
ls -l -R
# 当前目录下t开头的内容
ls -l t**
# 当前目录的所有文件的绝对路径,目录不递归
find $PWD -maxdepth 1 | xargs ls -ld
#当前目录的所有文件的绝对路径,目录递归
find $PWD | xargs ls -ld
cd
cd data/workspace
cd -
mkdir
# 递归生成多个文件夹
mkdir -p test/test
# 赋予777权限生成文件夹
mkdir -m 777 test2
#777:rwxrwxrwx
rm
rm -r -f test.c
rmdir 删除非空目录
rmdir test
rmdir -p test
# 如果删除后它变成了非空目录,那么也递归一并删除
mv 改名和移动文件
mv test.c test2.c
mv test2.c test2
# 所有文件移动到上级目录
mv * ..
cp 复制文件或目录
# 文件
cp test2.c test2
# 整个文件夹下的东西
cp test2 test
touch
# 新建一个文件
touch test3.c
# 修改时间戳相等
touch test2.c test3.c
ll
cat
cat test2.c
# 文件添加到后面
cat -n test2.c test3.c
nl 显示行号
nl test2.c
more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能 。
more test2.c
# 每屏显示2行代码
more -2 test2.c
less和more功能一样,但更强大
head和tail
大专栏 Linux Command Backup# 显示前两行和后两行
head -n 2 test2.c
tail -n 2 test2.c
# 前两个字节
head -c 2 test2.c
which 找到可执行文件的位置
which ls
which cd
#找不到cd命令,因为cd是bash内置的命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
find 目录下查找
find -atime -1
# 1天内修改过的文件
find . -name "*.c"
chmod命令
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
- s :特殊权限
# 新增可执行权限
chmod u+x test2.c
# 同时修改权限
chmod ug+w,o-x log2012.log
chmod 751 test2.c
# 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
tar 打包
仅打包,不压缩!
tar -cvf test2.tar test2.c
# 打包后,以 gzip 压缩
tar -zcvf test2.gz test2.c
# 打包后,以 bzip2 压缩
tar -zcvf test2.bz2 test2.c
chgrp 改变群组
chown 确定群组
gzip 压缩和解压
# 文件夹下所有文件都压缩
gzip *
# 解压所有
gzip -dv *
# 递归得压缩目录
gzip -rv test6
df 查看磁盘使用情况
df
du 查看所占用的空间
du
du test2.c
du test2
ln 建立超链接
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.
# 软连接
ln -s test2.c linktest
# 硬链接
ln test2.c linktest
diff 比较文件
diff test2.c test3.c
# 上下文的格式输出
diff test2.c test3.c -c
# 比较文件夹
diff test2 test
date 命令
date
date '+%c'
date '+%D'
date '+%x'
date '+%T'
date '+%X'
cal 日历
cal
cal -y 2013
grep 正则表达式
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
# 文件中查找关键词
grep 'linux' test.txt
# 多个文件中查看关键词
grep 'linux' test.txt test2.txt
# u开头的内容
cat test.txt |grep ^u
# hat结尾的内容
cat test.txt |grep hat$
wc Word Count 命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
–version 显示版本信息
wc test.txt
ps Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。
ps -A
# 指定用户进程
ps -u root
# ps 与grep 常用组合用法,查找特定进程
ps -ef|grep ssh
`kill`
kill -l
找到名字后,kill
kill -l name
或者用ps找到
kill 3268
#彻底杀死
kill -9 3268
`killall`
kill同名进程
killall vi
`top`命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
top
`free`命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。
free
`watch`可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行
每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d netstat -ant
`lsof`(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
`ifconfig`
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。
ifconfig
启动关闭制定网卡
ifconfig eth0 up
ifconfig eth0 down
关闭网卡并修改MAC地址
ifconfig eth0 hw ether 00:50:56:BF:26:20
配置IP地址
ifconfig eth0 192.168.120.56
`route` 显示和操作IP路由表
显示当前路由器
route
添加网关
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
删除网关
route del -net 224.0.0.0 netmask 240.0.0.0
`ping` 测试与目标主机的连通性
ping 192.168.120.205
`traceroute` 知道信息从你的计算机到互联网另一端的主机是走的什么路径
traceroute hostname
traceroute www.baidu.com
`xshell` 文件传输
rz # 上传
sz test.c
下载到本地
`ss` `ss`是Socket Statistics的缩写。顾名思义,`ss`命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但`ss`的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
显示TCP连接
ss -t -a
socket 摘要
ss -s
列出所有打开的网络连接端口
ss -l
显示所有UDP Sockets
ss -u -a
`telnet` 远程登录
telnet 192.168.120.209
talnet www.baidu.com
```
rcp remote file copy
scp secure copy
用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。
wget 下载
Linux Command Backup的更多相关文章
- [笔记]The Linux command line
Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...
- 5 Ways to Send Email From Linux Command Line
https://tecadmin.net/ways-to-send-email-from-linux-command-line/ We all know the importance of email ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- Linux Command Line Basics
Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...
- Linux Command Line 解析
Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...
- 15 Examples To Master Linux Command Line History
When you are using Linux command line frequently, using the history effectively can be a major produ ...
- 10 Interesting Linux Command Line Tricks and Tips Worth Knowing
I passionately enjoy working with commands as they offer more control over a Linux system than GUIs( ...
随机推荐
- GCC与G++区别
gcc和g++的区别总结:gcc: GNU C Compilerg++: GNU C++ Compiler 共同点:均属于the GNU Compiler Collection,gcc是鼻祖,后来才有 ...
- 最大连续子序列(DP)
Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j < ...
- Fabric不支持对同一个数据的并发事务处理
Fabric不支持对同一个数据的并发事务处理,也就是说, 如果我们同时运行了invoke(一),invoke(二),那么只会第一条Transaction成功, 而第二条失败.因为在Committer节 ...
- 分布式ID的简单总结
来源:郴州网站优化 简单总结一下流行的分布式id的实现方法 雪花算法 snowflake是twitter开源的分布式ID生成算法. 核心思想是:分布式ID固定是一个long型的数字,一个long型占8 ...
- centos6.8 yum安装mysql 5.6
一.检查系统是否安装其他版本的MYSQL数据 #yum list installed | grep mysql #yum -y remove mysql-libs.x86_64 二.安装及配置 # w ...
- Okhttp教程 (1)
1. 在build.gradle里引入okhttp库 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testComp ...
- poj 1463树形dp 树的最小覆盖
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #i ...
- springboot系列教程导学篇
spring boot2.0系列教程学习之导学篇 springboot 2.0深度学习系列教程. Spring Boot 虽然凯哥从2015年年初开始就接触了spring boot.但是在之后的公司中 ...
- [Codefoeces398B]Painting The Wall(概率DP)
题目大意:一个$n\times n$的棋盘,其中有$m$个格子已经被染色,执行一次染色操作(无论选择的格子是否已被染色)消耗一个单位时间,染色时选中每个格子的概率均等,求使每一行.每一列都存在被染色的 ...
- @EnableWebMvc WebMvcConfigurer CorsConfig
package me.zhengjie.core.config; import org.springframework.context.annotation.Configuration; import ...