Linux入门50指令
1, mkdir创建目录 make directory 可以带着路径,在什么位置创建什么目录
如:mkdir /etc/date 在目录etc下创建date目录
重要参数 –p 递归创建,mkdir –p /data/EthanCui/ethan 若无父目录,则直接创建,若存在父目录,也不会出错,继续创建子目录,除非子目录,父目录都存在,才会提示已存在
2, ls: list,显示文件或目录,缺省情况下,显示当前目录清单;如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单
ls –ld 以长格式显示当前目录信息
重要参数 : –a 可以在某层目录下查看显示隐藏文件
-d directory 以文件形式显示目录,而不是显示目录下的文件清单
–l 长格式显示当前目录详细文件信息
–h 更人性化的显示当前目录详细文件信息,可搭配-l一起使用,可以看出当前目录文件大小是用什么标识显示的
3, cd切换目录,相当于change directory,
4, pwd查看当前路径 print work directory
5, touch 创建空文件,例如在某路径 touch ethan.txt
也可直接指定路径创建 touch /etc/ethan.txt
6,vi编辑器,有编辑功能,可以用来给文本增删内容,对于不存在的文件也可以直接创建出来。
例如,在家目录下新创建ethan.txt文件,并输入What a good day!内容
无论在哪个目录下,可以直接cd 就会返回到家目录下,可以再pwd确认下
然后vi ethan.txt
打开之后是只读格式,按i键,输入,完成后按Esc,然后
:wq 就是写入退出 write and quit
:q 不保存退出 quit
:q! 强制退出
7,cat查看指令,可以查看文件内容,同时也可以直接创建文件并输入内容
cat指令会将文件全部显示,如果文件比较多,可以使用more指令从头到尾慢慢看
[root@LiangCui ~]# cat >> ethan.txt <<eor
> I am good
> and I am a fucking genius,,haha
> eor
8,echo打印命令,与>一起使用,可以将打印的结果放入>后的文件中,如果文件不存在,也可以直接创建出该文件,
例如 echo “What a good day” > ethan.txt
echo 111 1>ethan.txt 222 2>frank.txt 正确无误就会输入ethan.txt 如果有错误,比如echo少打了个o,就会输入到frank.txt里
9,>重定向,会把原来的内容覆盖,>>追加重定向,会追加到原内容的结尾
<输入重定向,<<追加输入重定向 。箭头的方向就是数据的流向
10,vim复杂编辑器,如果文件本身不存在,就会直接创建。
vim ethan.txt +20 回车之后,会直接跳到文档的第20行,
vim .test.txt 可以创建隐藏文件 只需要在文件名前加点 . 就可以
vim ethan.txt 回车后,为只读模式,按 i 进入insert插入模式,输入完成之后,按Esc,再保存 :wq 或是不保存退出 :q
11,tab键可以路径补全或是文件名补全,只要按tab键无反应,那就是肯定错误了
12,cp 复制文件 格式如下 cp【空格】要拷贝的文件【空格】要往哪拷贝(位置),
cp ethan.txt /etc/
参数 –r 递归复制目录, cp –r 【空格】要拷贝的文件【空格】位置
参数 -a 相当于-pdr (d)属性可以先不管
参数 –p 保持属性,复制过程中不会变
13, mv 移动命令move,移动目录或文件,
例如/下有date目录,移动date到/etc下 mv /date /etc/
mv 文件1 文件2 ,最终的结果会是只剩下文件2名字,内容被文件1内容覆盖,此种情况也可用在给文件1改名字上
14,man 帮助命令 例如 man cp
15,help 帮助查询内置命令 例如help cd ,在无法准确分辨是否为bash内置命令时,所有都可以先使用man 指令,如果是内置命令,会有提示
16,more 加文件名,可以从头到尾慢慢显示文件内容,之后可以按回车 逐行下拉,或是空格键大幅度下拉,按q键退出,注意:more指令无法回退
17,less 加文件名, 相对于more更好用,可回退看过的内容,按q退出
18,head 按要求行数从头开始显示文件, -n 加数字,就是显示几行,可简写为 -数字
例如 head –n 3 ethan.txt ,就是显示文档ethan.txt里的前3行,
也可写成head -3 ethan.txt
如果不加参数,默认显示10行,例如 head ethan.txt,显示文档ethan.txt前10行
19,tail 按行数要求,从尾开始显示文件,用法与head一样
20,diff 比较文档差别,例如先将ethan.txt复制内容保存为ethan.txt20160505,再修改ethan.txt内容,使用diff ethan.txt ethan.txt20160505比较,结果会打印2文件存在差别的地方
21,vimdiff 比较文件差别,会高亮显示2文件的差别指出,差别之处会有提示,并且文件余下内容也会打印出来,:qa退出全部
22,tree 加目录名 查指定目录的树结构,不加目录名,显示当前目录的树结构
例如 tree / (相当多,谨慎使用,可以按ctrl + c 停止显示)
23,rmdir 移除空目录,remove directory ,如果目录非空,会提示失败
如果需要移除非空目录,可使用 rm指令,见24指令
24,rm 移除指令,remove,使用起来一定要谨慎,一旦移除,很难复原,需要关闭服务器,使用第三方找回软件,还不一定成功
参数 –f force 强制删除,不需提示 例如强制删除文件 rm –f ethan.txt
参数 –r remove directories and their contents recursively递归移除目录及目录里的内容,例如强制删除目录就可以用 rm –rf /date
磁盘空间充足的话:可以创建个目录,专门当作回收站来使用,不想用哪个文件时,就直接用mv指令把文件移到回收站即可,根目录下有tmp文件夹,可以用来存放临时文件;
磁盘空间不足的话:可以使用重定向符号,> ethan.txt 把这个文件清空,生产场景可以先cp复制再删,和mv思路一样
25,useradd=adduser 创建新用户 例如 useradd Study
passwd 为用户创建密码,例如 passwd Study
创建的新用户为普通用户,提示符为$
26,whoami 查看当前用户
27,su 切换用户,例如 从普通用户Study 切换到root,su – root 需要输入root密码的, 从普通用户到root需要密码,从root到普通用户无需密码,如果su – 不指定用户名,默认切换到root
参数 – 切换用户环境变量
28,chattr 修改文件属性,仅限于root用户使用
重要参数: + 激活属性 - 失效属性, i 不可改变 immutable
例如 chattr +i ethan.txt,那么ethan.txt就是只读文件,不可修改,也无法删除
对于已操作的ethan.txt文档,可以用chattr –i ethan.txt解除,进行修改或删除
29,ifup 启动网卡指令,首选,例如 ifup eth0(网卡名字)
备选方案 /etc/init.d/network restart 或是 service network restart
ifdown+网卡名 关闭网卡,亲测,关闭之后,SecureCRT无法连接,需要在linux上开启网卡,
30,touch 创建空文件,也可以跟路径,在指定路径下创建空文件
例如 touch /tmp/ethan.txt
31,tar 解压压缩指令,主要是参数
-c 创建新的文档,相当于打包
-x 从文档中释放文件,相当于解包
-v 过程中显示文件,常用!
-f 使用文档名,后面直接跟文档名,不能再加参数
-z是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压?
例如 tar zcvf tmp.tar.gz tmp/ 代表将目录tmp下所有进行压缩,起名为tmp.tar.gz
例如 在/etc下 tar zxvf /tmp.tar.gz 注意要跟好文件的路径,会发现解压后etc/下也有个tmp目录
32,date 查询系统时间,日期, 参数 –s 设置时间
例如把系统时间修改 date –s “2016/05/05 20:44”
33,which 查找命令所在文件位置 ,内置命令无法查到
例如 which cp
34,whereis 也是查找命令所在文件位置 重要参数 –b 二进制文件
35,locate 根据文件名字查找文件
36,wget 非交互式的下载 加网站网址来下载,更新内置python版本时就可以用到
37,free 查看内存使用情况,重要参数 –m以MB为单位,-b以Byte为单位,-k以Kb为单位,-g以G 为单位
例如free –m 总可用内存为 free mem + buffers +cached
38,top 可以时时监控内存及CPU 使用情况
us == user用户进程所占CPU
sy ==systerm操作系统本身所占CPU
id == idle CPU空闲率
wa == io wait CPU等待IO的时间比
39,df 查看当前磁盘总容量及使用情况等 参数 –h 人性化的显示,在其他指令中有的也 是同意义,比较df 和 df –h 比较 ls –l 和 ls –lh
40,du 查看当前目录总文件大小 参数 –s summarize 总数 -h 人性化的,基本就是带着大小的单位标识
41,alias 在linux中是别名的意思 alias 名字 = 值
unalias取消别名 unalias 指令名
42,history 显示输入指令历史 例如 history 10 显示最近10条输入信息
43,clear 清屏
44,ifconfig 查看和配置网络设备
启动网卡 ifconfig eth0(网卡名) up
关闭网卡 ifconfig 网卡名 down, ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
Inet addr代表ip地址 mask 代表掩码地址
45,ping 可以用来确定网络或外部主机的状态
参数 –c 数目 count,在发送指定数目的数据包后停止
-i 秒数,设定间隔几秒发一个网络封包给机器,默认值为1秒
46,chown更改文件目录的属主或属组
例如 把date目录的属主及属组更改为Study 。 chown Study.Study date/
文件属性 d 代表此为目录directory
r 代表read; w 代表write ; x 代表excute执行
用八进制表达 r = 4 w = 2 x = 1 , - = 0
以目录date为例,属主权限rwx = 7 属组权限 r-x = 5 其他权限r-x = 5
这个目录权限,简单来表示就是755
这样来看文件python-2.7.11.tgz 的权限就是644
47,chmod 更改文件或目录的权限 chmod 权限 文件/目录名
例如 为date目录更改为最大权限 chmod 777 date/
48,Linux三剑客,重点指令第一个:grep兼具打印和过滤的功能
①比如文档ethan.txt包含
> It's really a good day!
> What can i help?
> thank you,James 我现在需要只显示前2行,第3行不需要显示出来
答案:grep -v "thank you,James" ethan.txt -v 表示排除“”中的内容,如果不加,则会只打印“”中的内容
②如果seq 100 > ethan.txt 显示第20-30行的内容【seq只能接数字】
grep 某行内容 -B/A/C 行数 ethan.txt -B 从某行向前 -A从某行向后 -C从某行前后各多少行 【显示的内容包括某行内容及其他行内容】
[root@LiangCui ~]# grep 30 -B 10 ethan.txt
20
21
22
23
24
25
26
27
28
29
30
49,Linux三剑客,重点指令第二个:sed 过滤掉某些内容,或替换掉某些内容
①比如文档ethan.txt包含
> It's really a good day!
> What can i help?
> thank you,James 我现在需要不显示第二行的内容,
答案: sed “/What can i help?/d” ethan.txt 其中d 表示delete的意思,如果是p 就是print的意思【注意是将内容多打一遍】
如:[root@LiangCui ~]# sed "/What can i help?/p" ethan.txt
It's really a good day!
What can i help?
What can i help?
thank you,James 可以引入参数 -n ,取消默认输出
②如果seq 100 >ethan.txt,显示第20-30行的内容,可以sed -n "20,30p" ethan.txt
[root@LiangCui ~]# sed -n "20,30p" ethan.txt
20
21
22
23
24
25
26
27
28
29
30
③sed "s#要被替换掉的内容#替换成的内容#g" 文件名
比如文档ethan.txt包含
> It's really a good day!
> What can i help?
> thank you,James 我现在需要第二行的What can i help?替换成What are you fucking doing?
操作如下sed "s#What can i help?#What are you fucking doing?#g" ethan.txt
注意操作之后,再cat ethan.txt 发现变回了原来的样子,因为这样操作只改变了输出结果,文档内容不做改变,如果需要改变文档内容,引入参数 -i ,输出结果及文档都变
[root@LiangCui ~]# sed -i "s#What can i help?#What are you fucking doing?#g" ethan.txt
[root@LiangCui ~]# cat ethan.txt
It's really a good day!
What are you fucking doing?
thank you,James
50,Linux三剑客 指点指令第三个awk 按要求打印
①打印指定的某一列,标准格式 awk '{print $2}' ethan.txt 【$之后的数字,就表示第几列,而且注意无指定特殊字符情况下,是以空格来划分的,指定特殊字符,就是指2个特殊字符中间为一列】
范例一:[root@LiangCui ~]# cat ethan.txt
It's really a good day!
What are you fucking doing?
thank you,James
[root@LiangCui ~]# awk '{print $2}' ethan.txt
really
are
you,James
范例二:[root@LiangCui ~]# cat ethan.txt
It's really a good day!
What are you fucking doing?
thank you,James
[root@LiangCui ~]# awk -F "a" '{print $2 $3}' ethan.txt
lly good d
t re you fucking doing?
mes
Linux入门50指令的更多相关文章
- 学习Linux入门50个基本命令
Linux系统以一切皆文件的方式运行系统.虽然存在ubuntu版本的图形界面,但在企业的服务器里面还是以命令行系统运行为主. 以下是初学50个基本的Linux命令行的体会 1:pwd 显示当前你所在的 ...
- Linux入门常用指令
linux获取硬盘和目录大小的命令 df命令 Linux下可以用df命令获取硬盘的使用情况,通过man可以获取df命令的详细情况.df命令经常用的参数为: a:显示全部的档案系统和各分割区的磁盘使用情 ...
- linux入门常用指令4.挂载数据盘
挂载硬盘 #查看当前分区情况 [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 5G 0 dis ...
- linux入门常用指令2.安装nginx
下载nginx包 nginx-1.10.3.tar.gz 解压 [root@localhost src]# tar -zxvf nginx-1.10.3.tar.gz [root@localhost ...
- linux入门基础指令大全(汇总)
一.文件目录指令 1 pwd指令 pwd 显示当前所在的目录 2 ls指令 ls [选项] [目录或文件] 查看文件信息 ls -a 查看所有文件和目录,包括隐藏的 ls -l 以列表的方式显示 ll ...
- linux入门常用指令3.安装mysql
下载安装包 MySQL-5.6.42-1.el6.x86_64.rpm-bundle_redhat [root@localhost src]# mkdir mysql [root@localhost ...
- linux入门常用指令1.配置本地yum源
创建光盘挂载点 [root@localhost /]# mkdir /mnt/cdrom 挂载光盘 #挂载光盘 [root@localhost /]# mount /dev/cdrom /mnt/cd ...
- linux入门到高级
目 录 1. Linux入门篇.................................................................................... ...
- Linux入门篇(一)——基本命令
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
随机推荐
- Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- 报表开发工具Finereport移动端app js接口列表【全】
应用报表工具Finereport的开发人员会发现其移动端app 同样也推出了很多js接口,那这些接口到底有多少,其移动端又有哪些地方支持调用js,这些接口具体又该如何调用呢.根据我平时的开发经验,给大 ...
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...
- MIT 6.824 : Spring 2015 lab3 训练笔记
摘要: 源代码参见我的github:https://github.com/YaoZengzeng/MIT-6.824 Lab3: Paxos-based Key/Value Service Intro ...
- AC日记——I Hate It 洛谷 P1531
题目背景 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的 ...
- Spring中的cglib动态代理
Spring中的cglib动态代理 cglib:Code Generation library, 基于ASM(java字节码操作码)的高性能代码生成包 被许多AOP框架使用 区别于JDK动态代理,cg ...
- 在MySQL中出现Unknown column 'abc' in 'field list'怎么解决?
update TABLE1 set NAME = '?' where ID ='?' 参数字段需要添引号.
- dpctl 工具使用
一.在建立Mininet的时候,需要设置listenPort,这样可以在其它命令行里设置flow net = Mininet( topo=topo, listenPort=6634 ) 二.常见用法m ...
- SQL/LINQ/Lamda 写法[转发]
SQL LINQ Lambda SELECT * FROM HumanResources.Employee from e in Employees select e Employees .Sele ...
- ajax实现下拉菜单无刷新加载更多
$(function() { var page = 1; var discount = $('#discount'); var innerHeight = window.innerHeight; va ...