一:Linux简介
Linux是一个Unix类操作系统,完全开发源码,多用户多任务,服务器(数据库服务器、Web服务器、应用服务器、图
片服务器等等)、嵌入式领域(如路由器等需要Linux才能启动)、移动终端(比如安卓手机等、平板)

二:安装Linux系统
1)、安装虚拟机软件(VMware,注意不要随意卸载该软件,在Win7系统下建议安装8.0或9.0)
2)、用虚拟机模拟电脑(四类操作系统:windows、Linux、Mac、Dos)
3)、安装Linux系统
Linux分区实际上是划分目录结构(Linux只识别文件和目录),必须有"根目录(/)"和"交换目录(swap)"
交换目录(swap):提供虚拟内存,当电脑内存不足,交换目录所占用的磁盘空间会当做虚拟内存来使用
磁盘8G(/dev/sda表示一个SCSI接口的硬盘,/dev/hda表示一个IDE接口的硬盘):
swap: 1G
/: 剩余的全部空间
Linux超级管理员账号是:root
Ctrl+C终止一条命令,Ctrl+Z撤销一条命令
二:基本命令
4条最简单的命令:
ls #查看目录的内容
pwd #查看当前目录的绝对路径
cd #跳到指定位置
clear #清屏
示例:
[root@localhost bin]#pwd
/usr/bin
[root@localhost bin]#cd ../sbin
[root@localhost sbin]#pwd
/usr/sbin
[root@localhost sbin]#cd ../../opt
[root@localhost opt]#pwd
/opt
[root@localhost opt]#ls d05/
[root@localhost opt]#ls ./d05/

bash、csh、ssh
echo $SHELL
shell命令行
[root@localhost ~]#(表示超级用户) 或 [u101@localhost bin]$(表示普通用户)
root表示当前操作的用户
localhost表示主机名
~表示当前处在哪个目录中,~表示当前登录的用户的home目录(用户登录后默认进入到home目录)
路径: 表示文件或文件夹所在的位置
绝对路径:以/开头
相对路径:.表示当前目录;..表示当前目录的上一层
mkdir --help #查看命令的帮助信息
man mkdir #查看命令的详细帮助
Linux中只要以点号(.)开头的文件或文件夹,就是隐藏的
Linux中的文件或文件夹命名中包含空格,需要用\进行转义,或者用双引号,如下代码:
mkdir aa\ bb #创建文件夹aa bb
mkdir "aa bb" #创建文件夹aa bb
mkdir aa\ bb\\cc #创建文件夹aa bb\cc
mkdir "aa bb\cc" #创建文件夹aa bb\cc
文件(夹)的基本操作:
mkdir d101 #创建一个目录d101
mkdir d102 d103 #同时创建两个目录d102、d103
mkdir -p d104/d105 #同时创建两层目录

#rmdi只能删除空目录
rmdir d101 #删除空目录d101
rmdir d102 d103 #同时删除两个空目录d102,d103
rmdir -p d104/d105/ #删除d105目录后,若d104是空的,则连d104一起删除

touch f101 #创建一个空文件f101

vi编辑器:默认进入到命令模式,另存(:wq! f101 或 :x! f101)
有命令模式、输入模式、末行模式三种模式。
命令模式:查找内容(/This,n往下搜,N往上搜索)、跳转到指定行(20gg)、跳转到尾行(G)、跳转到首行(gg)、跳到
行尾($)、跳到行首(^)、删除行(100dd)、插入行(o)、复制粘贴行(yy,p)
输入模式:编辑文件内容
末行模式:保存退出(wq等同于x)、强制退出(q!)、显示文件行号(set number)、显示光标所在的位置(set nu)
在命令模式下,输入a或i即可切换到输入模式,输入冒号(:)即可切换到末行模式;在输入模式和末行模式下,按esc
键切换到命令模式!
more:分屏显示文件内容,按回车键可查看下一行,按空格键显示下一页内容,q键退出
less:具有more的全部功能,且有文件内容搜索功能
cat:一次将文件内容全部显示出来

rm -i f101 #删除文件,-i会提示用户是否删除,输入y回车即可删除
rm -f f101 #删除文件,直接删除
rm -ri d101/ #删除目录(空目录和非空目录都可以删除)
rm -rf d101/ #删除目录,不会提示
rm命令慎用绝对路径(rm -rf /opt/d101/和rm -rf / opt/d101/是两条完全不一样的命令)

复制粘贴: 不能将文件夹复制到文件
cp /etc/termcap . #将/etc/termcap文件复制到当前目录
cp /etc/termcap termcap.bak #将/etc/termcap文件备份
cp -r d101/ d102/ #将d101/复制到d102/
cp -r d101/ f101 d102/ #同时复制目录和文件到d102目录下,注意d102必须是个文件夹

剪切: 不能将文件夹剪切到文件
mv f101 f102 #将f101剪切到f102,相当于文件更名操作
mv f102 d101/ #将f102文件剪切到d101目录
mv d101/ d102/ #将d101目录剪切到d102目录中
mv d101/ f101 d102/ #同时剪切目录和文件到d102目录下,注意d102必须是个文件夹
压缩管理:包(.tar)、压缩文件(.gz)、压缩包(.tar.gz 或 .tgz)
#tar命令打包的内容不能用绝对路径,如下代码
# tar -cvf t102.tar /opt/d02/d01/

tar -cvf t101.tar d101/ f101 #将目录和文件打到当前目录下的t101.tar包中
tar -cvf /opt/t101.tar d101/ f101 #将目录和文件打到/opt/t101.tar包中
tar -tvf t101.tar #查看t101.tar包中的内容
tar -xvf t101.tar #将t101.tar包中的内容释放到当前目录中
tar -xvf t101.tar -C /opt/d102/ #将t101.tar包中的内容释放到/opt/d102/目录中

压缩比:gzip只能压缩单个文件,不能压缩目录、也不能同时压缩多个文件
2G --> 1G(压缩比小,压缩速度快)
2G --> 500M(压缩比大,压缩速度慢)
gzip -1 f101 #将f101压缩,形成压缩文件f101.gz,数字1表示压缩比最小
gzip -9 f101 #将f101压缩,形成压缩文件f101.gz,数字9表示压缩比最大
gzip -l f101.gz #查看压缩文件f101.gz的压缩信息,小写字母l
gzip -d f101.gz 或 gunzip f101.gz #解压f101.gz文件

tar -cvf t101.tar d101/ f101 #首先打包操作
gzip -9 t101.tar #然后将包压缩,最终形成压缩包t101.tar.gz

tar命令只有打包功能,没有压缩功能,它是借助gzip进行压缩
tar -czvf t101.tar.gz d101/ f101 #将目录和文件打到当前目录下的t101.tar.gz压缩包中
tar -czvf /opt/t101.tgz d101/ f101 #将目录和文件打到/opt/t101.tgz压缩包中
tar -tzvf t101.tar.gz #查看t101.tar.gz压缩包中的内容
tar -xzvf t101.tar.gz #将t101.tar.gz压缩包中的内容释放到当前目录中
tar -xzvf t101.tgz -C /opt/d102/ #将t101.tgz压缩包中的内容解压到/opt/d102/目录中

#针对windows平台下的zip压缩包的解压
unzip -d d101/ f101.zip #将f101.zip解压到d101目录下
三:网络配置
ifconfig #查ip信息
ping #测试网络是否连通
setup #配置ip、防火墙、服务等信息
service network restart(start\stop) #重启服务
虚拟网卡桥接连接方式
hostname #输出主机名

客户端工具:crt、xshell、ssh、puty,前2个最常用,支持中文,后2个不支持中文
四:用&组&权限
组管理:(/etc/group,选择性掌握)
groupadd g1015 #组必需要有组id,如果没有指定组id,则系统自动分配唯一的组id
groupadd -g 499 g1015 #指定了组id,则系统不会自动组id
groupmod -n g1066 g106 #将g106更名成g1066
groupmod -g 498 g10166 #将g10166的id更改成498
groupdel g10166 #删除组g10166,若组中有用户,若组中包含用户,则不能删除组(必须确保组是空的才能删除组)
用户管理:(/etc/passwd存储用户基本信息、/etc/shadow存储用户密码信息)
一个用户可以拥有多个多个组:主组(一个有且只能有一个主组)和附属组(0到多个附属组)
用户的密码若是以*号或!开头,则表示该用户不能登录Linux操作系统
useradd u101 #用户登录后,默认进入到其home目录,home目录在/home/目录下(root用户的home目录是/root)
passwd u101 #passwd默认给当前用户设置密码,密码=字母+数字+下划线(_),超过8位,设置密码时,不会显示出来
usermod -L u101 #锁定用户,即用户不能登录
usermod -U u101 #解锁用户
userdel -r u101 #彻底删除用户
id u101 #查看用户信息:如uid、所有的组信息等等
权限:Linux中通过控制每一类用户对文件/文件夹的读、写、执行来实现权限控制
ls -l 等同于 ll
ls -al 等同于 ll -a
ls -ahl 等同于 ll -ah
drwxr-xr-x 2 root root 4.0K 11-06 18:30 Desktop
第一个root:表示该文件夹属于哪个用户
第二个root:表示该文件夹属于哪个组
chown -R u101 Desktop/ #单独更改文件夹的拥有者(-R表示文件夹的所有子内容全部更改)
chgrp -R u101 Desktop/ #单独更改文件夹的所属组
chown u101:u101 install.log.syslog #同时更改文件的拥有者和所属组

drwxr-xr-x(一个组中可以包含0到多个用户)
d表示是个普通文件夹,-表示普通文件
rwx:文件拥有者具备的权限(u),7, 7-2
r-x:文件所属组中的其他用户所具备的权限(g),5, 5+2
r-x:其他用户所具备的权限(o),5, 4
chmod u-w,g+w,o=r Desktop/ #执行完后变成dr-xrwxr--

#r=4;w=2;x=1,755
chmod -R 574 Desktop/ 等同于 chmod -R u-w,g+w,o=r Desktop/
最大是777(drwxrwxrwx),最小是000(d---------)
chmod 777 Desktop/ 等同于 chmod a=rwx Desktop/ #a代表所有用户

五:扩展命令:
tab键的使用
init 3从图形界面切换到命令模式
init 5从命令模式切换到图形界面
ls /etc | more
tree /opt/
ls -R /opt/
ll -ahR /opt/
at
cal
date
who
who am i

主要:
scp(rcp) #远程复制文件(夹)(rcp命令也可)
scp -r root@172.11.1.15:/opt/pp . (注意此处有点号.)
less f101查看文件,按v键进入编辑,:wq保存退出
grep zpp /etc/passwd #到/etc/passwd文件中查找zpp字符串
grep -n "root" /etc/group #查看/etc/group文件中包含root的行并显示行号
cat install.log | grep isdn4k #到install.log文件中搜索内容:isdn4k(grep "isdn4k" install.log)
du -h #查文件或目录的大小
du -sh term #查看文件term的大小
echo "" > f101 #清空文件f101中的内容,但仍然有一空行
cat /dev/null > f101 #清空文件f101中的内容,不会有空行
top #查看当前系统的资源使用率(默认是5秒刷新一次,相当于windows的资源管理器)
chkconfig --list #列出所有服务(相当于windows下的services.msc所列出的内容)
mount /dev/cdrom /mnt 或 mount /dev/hdc /mnt #载入光驱
umount /mnt 或 umount /dev/cdrom #一定要退出光驱目录,才能进行反载入
最重要:
netstat -an #查看端口
ps #查看当前终端正在运行的进程
ps -ef #查看系统正在运行的进程
ps -ef | grep bash #查看系统正在运行的进程名包含bash的进程
kill -9 pid #强制终止(pid表示进程号,可以用ps命令查看到进程号)
diff #比较两个文件的内容
df -h #查磁盘信息
free -m #查内存
find / -name d101 #从根目录下开始查找(find -name d101从当前目录下开始查找)
head -n 10 term; #查看文件头10行
tail -n 20 term #查看文件末尾20行
sed -ne '3,30p' termp #查看文件制定范围的行(例:第3行到第30行)

#抓包命令
tcpdump -X -s 0 -w test.cap port 1813

六:扩展:输入和输出(选择性掌握)
cat(将标准输入(即键盘)所输入的内容直接输出到标准输出(即显示器))
echo 泽林则是 > f102 #将内容定向输出到文件中
cat f101 >> f102 #将f101中的内容追加到f102中
gzip -9c termcap > d101/termcap.gz #将termcap文件压缩到指定目录下
gzip -9c f101 >> d101/termcap.gz #将f101追加到termcap.gz压缩文件中
gzip -d termcap.gz -c > d04/f011 #将termcap.gz解压到d04/f011文件中
ls | grep install #grep命令查找字符串
strings /bin/ls #查看二进制文件中可打印字符
awk -F : '{print $1, $5}' /etc/passwd #查看/etc/passwd文件中的第1列、第5列(-F :表示用:号分隔,默认
是空格分隔)
awk -F : '{print $1, $5}' /etc/passwd > f101
ps aux #显示出所有进程(包括前台与后台的)
ps aux | grep apache #查看apache用户启动的所有进程
ps aux | grep apache | awk '{print $1,$11}' #看apache用户启动的所有进程,只显示第1列、第11列
ps aux | grep apache | awk '{print $1,$11}' > f102 #看apache用户启动的所有进程,只显示第1列、第11列
,将结果输入到当前目录下的f102目录
wc -c d01/f102 #查看d01/f102文件的字节数
wc -m d01/f102 #查看d01/f102文件的字符数
wc -l d01/f102 #查看d01/f102文件的行数

七:Vi命令扩展(命令模式下的操作):
h 或 Backspace:: 光标左移一个字符
l 或 space:: 光标右移一个字符
k 或 Ctrl+p: 光标上移一行
j 或 Enter 或 Ctrl+n : 光标下移一行
w : 光标右移一个字至字首
W : 光标右移一个字至字首,忽略标点符号
b 或 B : 光标左移一个字至字首
e 或 E : 光标右移一个字至字尾

复制指定字符
yw
y4l

yy
y

dd
d
s

S删除一行且进入编辑模式
dd删除一行不进入编辑模式
s删除一个字符且进入编辑模式
x删除一个字符不进入编辑模式
u撤销
2x删除2个字符

转载于:https://www.cnblogs.com/tommychang/p/4613112.html

Linux-SHELL基本操作相关推荐

  1. 在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...

    如何编写简单的Shell脚本(Script)文件之Linux的基本操作 新建一个文本文件包含所需要的脚本.举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网 ...

  2. linux下MongoDB客户端shell基本操作

    MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:"xiaoming"},第二条记录:{name:" ...

  3. Linux shell 变量 数学 运算

    出处:http://qujunorz.blog.51cto.com/6378776/1382085 Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种 ...

  4. linux shell删除归档_linux打怪技能方向规划,送给迷茫学习的你

    相信不少linux初学者,在安装完操作系统后,往往不知道从何开始学习,边摸索边学习,最终这也点点,那也点点,导致学习的知识很分散,没有形成一个比较全面的知识体系.现在我整理规划出一套学习线路,希望大家 ...

  5. 实验3——Hadoop Shell基本操作

    1.Hadoop Shell基本操作 系统环境 Linux Ubuntu 16.04 hadoop-2.6.0-cdh5.4 任务内容 1.学习在开启.关闭Hadoop 2.学习在Hadoop中创建. ...

  6. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  7. linux shell for 循环变量,shell for循环总结

    1 shell for循环语法 for 变量 in 列表 do command1 command2 ... commandN done 1.1 读取列表中的值 #!/bin/bash for test ...

  8. 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程

    Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/ 转载于:https://www.cnblogs.com/pegasu ...

  9. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  10. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

最新文章

  1. 有弹性的ListView
  2. 上凸包和下凸包_使用凸包聚类
  3. 假期第一次编程总结(改二)
  4. 24v开关电源维修技巧_焊机维修案例汇总6
  5. 毕设题目:Matlab无人机协同任务
  6. springboot整合PageHelper实现分页效果
  7. 经济数学—线性代数第二版课后习题解析 吴传生 编|高等教育出版社 大学课后习题答案
  8. 定时任务中cron表达式详解
  9. Adobe Creative Cloud无法连接至服务器的解决办法
  10. MFiX存储ReactionRates的模块
  11. 执行npm install报错:npm ERR! code EINTEGRITY,npm ERR! 最彻底,最实用的方法就是更新node版本
  12. XGBoost 与 信用卡诈骗数据集 三
  13. QQ2010登录协议分析-目前可取得sessionkey
  14. SuperMap标注
  15. 成为成功的软件开发顾问的5个关键
  16. C++:乱码之字符串编码
  17. 002-windowa基础(DOS命令:net user 用户 密码 /add)
  18. 北航计算机控制系统实验报告,北航计算机控制系统实验报告.doc
  19. JavaScript下的setTimeout(fn,0)的作用,涨知识了
  20. ffmpeg详细安装教程

热门文章

  1. 点钞视频软件测试,模拟银行综合实验
  2. JavaWeb03-HTML篇笔记(二)
  3. 在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
  4. JS推断浏览器类型与版本号
  5. 【原创】.NET读写Excel工具Spire.Xls使用(5)重量级的Excel图表功能
  6. spring mvc 上传文件
  7. org manual翻译--2.7 纯文本列表
  8. 广告点击率模型中,LR, GBDT+LR, FM, DNN等模型的优点和缺点?实际效果如何?
  9. lambda表达式传参
  10. java编程——图片旋转