linux -Shell编程
linux系统常用命令
linux系统常用命令
``` ls:列出当前目录下的所有文件及子目录 cd:切换目录 mkdir:创建目录 rm:删除文件或目录 mv:移动文件或重命名文件 cat:显示文件内容 echo:输出字符串man:显示命令手册 find:查找文件 grep:搜索文件中的字符串 sort:对文件中的行排序 tail:显示文件末尾部分 head:显示文件开头部分 more:分屏显示文件内容chmod:改变文件权限 chown:改变文件所有者 ps:显示正在执行的进程 kill:杀死进程 df:查看磁盘使用情况du:显示文件大小 top:显示正在运行的进程 mount:挂载设备 umount:卸载设备 ```。
使用Linux终端命令进行系统更新和升级
使用Linux终端命令进行系统更新和升级在Linux系统中,终端命令是完成各种任务的强大工具。
其中之一是使用命令行进行系统更新和升级。
通过终端命令,用户可以迅速、准确地更新系统软件包,提高系统的性能和安全性。
本文将介绍在Linux系统中使用终端命令进行系统更新和升级的步骤和注意事项。
一、系统更新系统更新是保持系统安全和稳定性的重要措施。
Linux系统提供了各种命令来更新系统软件包,以修复已知漏洞、改进性能和添加新功能。
以下是使用终端命令进行系统更新的步骤:1. 打开终端:在Linux系统中,可以使用快捷键Ctrl+Alt+T来打开终端。
2. 更新软件包列表:在终端中输入以下命令,更新系统软件包列表。
```sudo apt update```这个命令将连接到软件源,检查可用的更新并将其列出。
3. 完成系统更新:在软件包列表更新后,输入以下命令进行系统更新。
```sudo apt upgrade终端将显示可用的更新列表,并询问是否继续。
输入Y并按Enter 键确认更新。
4. 等待更新完成:系统将下载和安装更新的软件包。
时间会根据更新的数量和文件大小而有所不同。
请耐心等待更新完成。
5. 重启系统:系统更新后,建议重新启动计算机以应用更改。
二、系统升级系统升级是将当前Linux系统版本升级到最新版本的过程。
升级将提供更多的功能和修复先前版本中的错误。
为了确保系统升级的成功,需要遵循以下步骤:1. 打开终端:按Ctrl+Alt+T快捷键打开终端。
2. 更新软件包列表:使用以下命令更新软件包列表。
```sudo apt update```3. 完成系统更新:在软件包列表更新后,输入以下命令进行系统更新。
```sudo apt upgrade4. 检查新版本可用性:输入以下命令检查是否有新的系统版本可供升级。
```sudo do-release-upgrade```终端将显示可供升级的新版本信息。
如果有新版本可用,则按照终端提示操作。
linux 系统内存相关指令
在Linux系统中,有一些常用的命令可以用来查看和管理内存。
以下是一些常见的Linux内存相关指令:
1. free:显示系统内存使用情况和交换空间使用情况。
示例:`free -h`
2. top:实时显示系统进程和内存使用情况。
示例:`top`
3. vmstat:显示系统虚拟内存统计信息,包括内存使用情况、I/O等。
示例:`vmstat`
4. ps:显示系统进程状态,包括进程的内存使用情况。
示例:`ps aux`
5. pmap:显示进程的内存映射情况。
示例:`pmap <pid>`
6. smem:综合显示系统内存使用情况,包括物理内存、共享内存、缓存等。
示例:`smem -r`
7. sar:系统活动报告,包括CPU、内存、磁盘等性能信息。
示例:`sar -r`
8. top命令中按下"Shift+m":按内存使用量排序显示进程列表。
示例:启动top命令后,按下Shift键再按m键。
这些命令可以帮助您了解系统当前的内存使用情况和进程的内存占用情况。
请注意,具体命令的参数和输出可能会因不同的Linux发行版和版本而有所不同。
您可以通过查阅相关文档或使用命令的帮助选项来获取更多详细信息。
Linux操作系统基本命令精品PPT课件
文件的安全与权限
数字表示法:4-读,2-写,1-执行 将这几个数字任意两个或三个相加可得到 相应的多种权限 如,6-读写,3-写的执行,7-读、写、 执行 例:chmod 600 为用户自己增加读写权 限,其它任何用户没有任何权。其中第一 个位置的值6是用户自己的权限为读写,第 二个位置的0代表组内用户没有权限,第三
目录操作命令
cd命令 切换目录 命令名称: cd 用法:cd 目录名称 ./ 当前目录 cd ../ 切换到上级目录 cd ~ (或只有cd )切换到用户主目录 cd - 切回到进入到当前目录前的目录
文件的安全与权限
Linux系统中每一个文件或目录都明确地定义其拥有 者(owner)、组(group) 和它的使用权限等。用户可用 下面的命令规定自己主目录下的文件权限,以保护自 己的数据和信息,防止他人非法使用。 chown命令 改变文件属主(拥有者)或属组
ห้องสมุดไป่ตู้
文件命令
cp 复制命令 功能: 复制文件 用法:cp [选项]文件名 目标地址 -i 询问确认 -R 拷贝目录及目录下所有目录和文件
mv 移动命令 mv a.txt ../ #将a.txt文件移动到上级目录 -i 覆盖已存在的文件前询问确认
文件命令
mv 命令可以用来给文件改名字 mv a.txt b.txt #将a.txt 改为b.txt rm 删除文件或目录
/mnt 可安装其它文件系统的目录
文件命令
在Linux系统中,几乎所有内容包括文档、命令、设 备和目录等都组织成文件的形式,用文件来管理, 常用的文件命令有:
cat、more、less命令 cat
功能:显示文本文件内容 用法:cat 文件名 $ cat
文件命令
Linux常见命令使用方法
Linux常见命令使用方法Chapter 1 介绍Linux常见命令是指Linux操作系统中常用的一些命令,它们可以帮助用户在Linux系统上进行各种操作。
这些命令具有很强的专业性,对于Linux系统的管理者和开发人员来说是必不可少的工具。
本文将介绍一些常见的Linux命令及其使用方法,包括文件和目录操作、系统管理、软件安装和网络配置等方面的内容。
Chapter 2 文件和目录操作2.1 cd命令cd命令是Linux中进入目录的命令。
在Linux中,所有的文件和目录都是以根目录“/”为开始的。
如果想要进入某个目录,可以使用cd命令。
例如,如果想要进入主目录,可以使用以下命令:cd ~如果想要进入某个子目录,可以使用以下命令:cd 目录路径2.2 ls命令ls命令可以列出指定目录中的所有文件和子目录。
例如,如果要列出当前目录中的所有文件和子目录,可以使用以下命令:ls如果想要列出指定目录中的所有文件和子目录,可以使用以下命令:ls 目录路径2.3 mkdir命令mkdir命令可以创建新目录。
例如,如果想要在当前目录下创建一个名为“test”的目录,可以使用以下命令:mkdir test2.4 rm命令rm命令可以删除指定的文件或目录。
例如,如果要删除一个名为“example.txt”的文件,可以使用以下命令:rm example.txt如果想要删除整个目录及其子目录,可以使用以下命令:rm -rf 目录路径Chapter 3 系统管理3.1 su命令su命令可以用于切换用户,例如从普通用户切换到超级用户。
例如,如果要切换到超级用户,可以使用以下命令:su在输入密码后就可以切换到超级用户了。
3.2 sudo命令sudo命令可以用于在不切换用户的情况下执行超级用户身份的操作。
例如,如果要以超级用户身份执行apt-get install命令来安装软件,可以使用以下命令:sudo apt-get install 软件包名3.3 ps命令ps命令可以显示当前系统中正在运行的进程。
Linux基本操作命令(一)
Linux基本操作命令(⼀)⽬录1.⽂件和⽬录操作命令2.⽤户和⽤户组操作命令3.vim编辑器操作命令4.打包和解压操作命令5.系统操作命令为什么要学习linux?1.linux是⼀款操作系统2.linux经常来作为服务器操作系统来⽤作⽤:1.查看⽇志(任何操作的⽇志)2.定位bug(查看⽇志,⽇志级别:info/debug/error....)3.搭建环境(搭建测试环境)以上三条就是测试⼈员会在⼯作经常要⽤的三点需要的软件1.CENTOS 6.8----linux操作系统2.Xshell 5---远程连接⼯具其它还有PYTT secureCRT3.winSCP---windows与linux传输⼯具⽂件和⽬录操作命令1.linux终端共有6个,分别tty1---tty6 通过ctrl + alt+F1~F6进⾏切换2.[root@localhost ~]# 后光标闪烁表⽰可以执⾏命令/编辑root===表⽰当前登录的⽤户名@----表⽰在localhost---主机域名~ ---- 表⽰root⽤户的家⽬录root⽤户的家⽬录路径:/root普通⽤户的家⽬录 ~普通⽤户的家⽬录 /home/普通⽤户的⽤户名⽬录# ---- 表⽰是root $ ---表⽰是普通⽤户3.快捷键ctrl+c 终⽌当前命令ctrl+l 清屏ctrl+D =exit 当前⽤户退出ctrl+z 暂停当前命令 fg---恢复执⾏TAB键----⾃动补全如果输⼊的字符串是唯⼀的,单击tab键就会⾃动补全如果输⼊的字符串不是唯⼀的,双击tab键显⽰所有以输⼊的字符开头的⽬录或⽂件linux命令⼀样的可以⾃动补全注意点:⾃动补全只补全当前⽬录下存在的⽬录或⽂件名称4.⽬录/----表⽰根⽬录常⽤⽬录/home 普通⽤户的家⽬录/root 是root⽤户的家⽬录不管是普通⽤户还是root登录成功后,所在位置都是在各⾃的家⽬录下/etc 配置⽂件位置(⽤户、密码、服务的配置⽂件等)/opt 保存第三⽅软件安装位置/usr/local 安装第三⽅软件的位置/tmp 临时⽂件,⾃动清空不管是存放软件包或者⽂件时,都去新建相应的⽬录,最好是当前登录⽤户家⽬录下⾯,不要随意删除别⼈的⽂件5.绝对路径和相对路径什么是绝对路径?什么是相对路径?绝对路径是从根⽬录开始的完整路径相对路径是从当前位置(⽤户所在的路径位置)开始的路径. 表⽰当前⽬录.. 表⽰上⼀级⽬录pwdpwd --查看当前位置的路径(是从根⽬录开始)cd ----切换⽬录ls1.ls ---list---显⽰当前⽬录或指定⽬录下⽂件和⽬录经常使⽤的选项:ls -l ==ll ---查看当前⽬录下的⽂件和⽬录,以较长格式显⽰⽂件和⽬录显⽰格式讲解:第⼀个 -/d/l 表⽰⽂件类型- ⼆进制⽂件 d ⽬录 l 软链接第⼆个部分 rwxrwxrwx 表⽰各类⽤户的权限r -read 读权限 w-wirte 写权限 x ---执⾏权限r-x 表⽰只有读和执⾏权限rwx rwx rwx第⼀个rwx表⽰⽂件或⽬录所属⽤户的权限第⼆个rwx表⽰⽂件或⽬录所属组的权限第三个rwx表⽰⽂件或⽬录其他⽤户的权限第三个部分 root 表⽰⽂件或⽬录所属⽤户的⽤户名第四个部分 root 表⽰⽂件或⽬录所属组的组名第五个部分 12288 表⽰⽂件或⽬录的⼤⼩第六个部分 Feb 25 18:41 表⽰⽂件或⽬录的最后修改时间第七个部分⽂件或⽬录的名称2.ls -a ==ls --all 查看当前⽬录下的所有⽂件和⽬录,包括隐藏⽂件3.ls -h 表⽰以容易理解的格式显⽰⽂件的⼤⼩, 必须与-l⼀起使⽤,才能有所体现4.ls -i 显⽰⽂件和⽬录的i节点每⼀个⽂件和⽬录的i节点都是唯⼀的,我们可以通过i节点来查找⽂件和⽬录mkdirmkdir --创建新⽬录格式:mkdir [-p] 路径/新⽬录名1.在当前⽬录下创建新⽬录2.在指定的⽬录下创建新⽬录3.-p, --parents no error if existing, make parent directories as needed ---递归创建⽬录rmdirrmdir ---删除空⽬录1.如果是⽬录是⾮空,不能删除[root@localhost cc]# rmdir test/rmdir: failed to remove `test/': Directory not empty'2.不能删除⾮⽬录[root@localhost ~]# rmdir install.logrmdir: failed to remove `install.log': Not a directory'rmrm ---删除⽂件和⽬录⽤法:rm [选项]... ⽂件...不管是⽂件还是⽬录,经常使⽤就是rm -rf 要删除的东西(可以是多个,中间⽤空格隔开)[root@localhost tmp]# rm -rf cc test yum.logrm -rf *---删除当前⽬录下所有⽂件和⽬录rm -rf te*--删除以te开头的所有⽂件和⽬录删除以.1og结尾的内容:rm -rf *.log使⽤rm命令时,⼀定确保这个⽂件和⽬录确定要删除,在liunx系统⾥⾯删除是不可逆的,没有回收站1.删除⽂件[root@localhost tmp]# rm ifcfg-eth0rm:是否删除普通⽂件 "ifcfg-eth0"?y[root@localhost tmp]# rm -f test.log --删除不询问2.删除⽬录--- -r 同时会询问是否删除[root@localhost test_dir]# rm -r test/rm: descend into directory `test'? yrm: remove directory `test/testt'? yrm: remove directory `test'? y'3.如果不想在删除过程⼀直有询问,可以使⽤-f---强制删除(需要更加谨慎) force[root@localhost test_dir]# rm -rf test/强制删除,并且没有询问如果有些⽂件使⽤rm 不能删除,我们也可以加上-f,同样的含义强制删除,并且没有询问cpcp --复制⽂件或⽬录⽤法:cp [选项] 原⽂件或⽬录⽬标⽬录语法:cp -rp [原⽂件或⽬录][⽬标⽬录]1.复制⽂件:[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/test[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ..[root@localhost test_dir]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp2.-p 保留原⽂件或⽬录的属性,属性就是ls -l所展⽰的东西[root@localhost tmp]# cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp3.-r 复制⽬录[root@localhost tmp]# cp -r ./test_dir/test .结论:cp 复制⽂件或⽬录,复制成功后,原⽂件或⽬录还存在在复制的过程中,还可以改名mvmv与cp 最⼤的区别就是⼀个不保留原⽂件,⼀个保留原⽂件1.剪切--不改名[root@localhost test_dir]# mv ../ifcfg-eth0 .2.剪切-改名[root@localhost tmp]# mv test_dir/ifcfg-eth0 ./test.log3.改名[root@localhost test_dir]# mv test tests作⽤:⽤来备份场景:放了⼀个lib⽂件运⾏,开发说你替换⼀下lib⽂件但是我们保证开发的lib的⽂件就是OK ,那这种情况最好备份mv chaa.lib chaa.lib.baktouchtouch -创建空⽂件[root@localhost test]# touch test.log这个命令不经常⽤,创建⽂件是vim编辑器catcat 显⽰⽂件内容[root@localhost test]# cat yum.conf⼀次性将⽂件内容完全展⽰出来,并且退出从⽽可得出cat不适合查看⽂件很⼤的⽂件,cat只适合于查看⽂件内容偏⼩的⽂件tactac 倒着显⽰⽂件内容[root@localhost test]# tac test.log适合查看⽂件内容偏⼩的,并且将最⼀⾏显⽰在最前⾯moremore 分页显⽰⽂件的内容空格或f 向下翻页enter键换⾏(⼀⾏⼀⾏的显⽰)同时在页⾯最下⽅的位置显⽰⽂件显⽰的当前进度q或Q 退出缺点:只能向下翻页,不能向上查看lessless 分页显⽰⽂件的内容(向上翻页)空格或f 向下翻页enter键换⾏q或Q 退出pgup/pgdn 向上/向下⼀页⼀页切换⽅向键向上/向下⼀⾏⼀⾏切换在⽂件中查找指定字符串时:2.在/后⾯输⼊要查找的指定字符串⽐如:/error3.回车⽬前显⽰的⼀个指定字符串是从当前位置查找到的第⼀个,可以按“n”继续向下查找其它的此⽅法经常⽤于在⽇志定位问题,或在修改⽂件要修改指定内容less是显⽰⽂件内容命令中⽤得最多的headhead --显⽰⽂件前⾯⼏⾏1.在不跟任何选项和参数时,默认显⽰⽂件的前⼗⾏[root@localhost test]# head services.log2.只显⽰⽂件的前⾯5⾏(⾏数前的-很重要)[root@localhost test]# head -5 services.logtailtail 显⽰⽂件最后的⼏⾏1.默认显⽰⽂件的最后⼗⾏[root@localhost test]# tail test.log2.只显⽰⽂件的最后三⾏ -n[root@localhost test]# tail -3 test.log==[root@localhost test]# tail -n 3 test.log3.-f 动态显⽰⽂件的最后⼏⾏(经常⽤)tail -400f XX.log动态就是显⽰⽂件新增的内容⽤于场景:主要⽤于实时动态显⽰操作⽇志同样是⽤于定位bugchmodchmod -改变⽂件或⽬录的权限(读写执⾏)user group other所有者所有组其它⼈+ 增加 - 删除 = 等于1.将⽂件的写权限删除[root@localhost test]# chmod u-w test.log2.给所有组增加执⾏的权限[root@localhost test]# chmod g+x test.log3.给其它⼈赋于读写执⾏的权限[root@localhost test]# chmod o=rwx test.log4.错误⽅式chmod u=rw o=r test.log这种⽅式不⾏,不能同时修改所有者、所有组和其它⼈的权限以上根据⽤户来+-=三种⽅式来修改权限,显得过于⿇烦解决⽅法:r=4 w=2 x=14+2+1=7 ⽤7这⼀个数字来代表所有权限1.给所有者赋读写权限,所有组为读执⾏权限其它⼈赋读权限[root@localhost test]# chmod 654 test.log通过数字的⽅式同时修改不同⽤户的权限2.给所有⽤户都赋于读写权限6[root@localhost test]# chmod 666 test.log⽬前更改权限最简便的⽅法,也是最常⽤的3.给⽬录赋权[root@localhost test]# chmod 764 test12/同时在⽂件或⽬录前可以加上绝对路径或相对路径4.-R 递归修改⽂件或⽬录的权限(经常使⽤)[root@localhost test]# chmod -R 644 ./test12/test是同时将⽬录下⾯所有的⽂件和⼦⽬录中内容权限⼀并修改chmod root和普通⽤户都有权限chownchown 改变⽂件的所有者(经常使⽤)1.改变test_dir.log⽂件的所有者为root[root@localhost test]# chown root test_dir.log2.普通⽤户改变log.log的所有者[test@localhost ~]$ chown test log.logchown: changing ownership of `log.log': Operation not permitted'chown普通⽤户是没权限进⾏操作这个命令,只有root才有权限去改变⽂件或⽬录的所有者chgrpchgrp 改变⽂件和⽬录的所有组[root@localhost test]# chgrp test test但是这个命令我们⼀般不⽤,因为很少会去只改变⽂件和⽬录的所有组如果要改变所有组,⼀般会同时改变所有者和所有组如果是同时改变所有者和所有组,可以⽤chown经常使⽤的⽅式[root@localhost test]# chown wq:wq testumaskumask ---显⽰⽂件和⽬录的默认权限775/755 创建⼀个⽬录664/644 创建⼀个⽂件022 umask---取反--7557-0=7 7-2=5 7-2=5代表⼀个⽬录初始的权限为755,⼀个⽂件的初始权限为644(⽂件没有可执⾏权限)findfind ---⽂件搜索格式:find [搜索范围][匹配条件]1.根据name来搜索(经常⽤)a.精确搜索[root@localhost test]# find /etc -name servicesb.模糊搜索init开头的⽂件和⽬录[root@localhost test]# find /etc -name init*c.模糊搜索init结尾的⽂件和⽬录[root@localhost test]# find /etc -name *initd.模糊搜索包含init的⽂件和⽬录[root@localhost test]# find /etc -name *init*e.模糊搜索以init开头的后⾯只有三个字符串的⽂件或⽬录 * 代表⼀组字符串代表⼀个字符[root@localhost test]# find /etc -name initlinux对⼤⼩很敏感,⽽且空格也敏感[root@localhost test]# find /etc -name INITf.根据name搜索时,不区分⼤⼩写⽤选项 -iname[root@localhost test]# find /etc -iname INIT/etc/inittab[root@localhost test]# find /etc -name INIT没有搜索出任何数据2.根据⽂件⼤⼩搜索a.⼤于4096的⽂件 +4096[root@localhost test]# find /etc -size +4096b.⼩于4096的⽂件 -4096[root@localhost test]# find /etc -size -4096c.等于4096的⽂件[root@localhost test]# find /etc -size 4096d.⼤于4096同时⼩于641020的⽂件 -a[root@localhost test]# find /etc -size +4096 -a -size -641020 e.⼤于4096或者⼩于641020的⽂件[root@localhost test]# find /etc -size +4096 -o -size -6410203.根据⽂件所有者去搜索[root@localhost test]# find /home/test -user test[root@localhost test]# find -user test如果不写搜索范围,默认搜索从当前⽬录开始,搜索下⾯匹配的⽂件和⽬录4.根据⽂件属性搜索a.搜索5分钟之内内容被修改的⽂件[root@localhost test]# find . -mmin -5⽂件内容被修改的同时,⽂件属性也会被修改b.搜索3分钟之内⽂件属性被修改的⽂件[root@localhost test]# find . -cmin -3amin cmin mmin后⾯接分钟atime ctime mtime后⾯接⼩时5.根据⽂件类型来搜索- ⼆进制⽂件f d ⽬录 l 软链接1.搜索⽬录---⽂件类型为d[root@localhost test]# find . -type d2.搜索当前⽬录下⽂件类型为⽂件 f[root@localhost test]# find . -type - ---错误find: -type 的参数未知: -[root@localhost test]# find . -type f ---正确3.搜索当前⽬录下的⽂件类型为软链接 l[root@localhost test]# find . -type l4.在根⽬录下搜索⽂件名称为services的⽂件[root@localhost test]# find / -name services -type fgrepgrep --搜索⽂件的内容1.搜索test.log这个⽂件中包含qwer字符串的⾏[root@localhost test]# grep qwer ./test.log2.不区分⼤⼩写进⾏搜索选项 -i[root@localhost test]# grep -i test test.log3.搜索不包含123的⽂件内容[root@localhost test]# grep -v 123 test.log4.搜索不包含test的⽂件内容,不区分⼤⼩写[root@localhost test]# grep -iv test test.log5.搜索不是以1开头的⽂件内容[root@localhost test]# grep -v ^1 test.log6.搜索以1开头的⾏[root@localhost test]# grep ^1 test.log^ 表⽰以什么开头在shell脚本 #表⽰注释7.屏蔽掉注释⾏ --[root@localhost test]# grep -v ^# sysctl.conf8.经常使⽤的⼀种⽅法---管道|[root@localhost test]# ps -ef |grep javaps -ef 查询进程|管道符 command1 | command2将command1的输出作为command2的输⼊[root@localhost test]# ls -l |grep testlnln --链接命令链接分为软链接和硬链接1.给⽬录创建软链接 -s[root@localhost tmp]# ln -s /tmp/test/test12/test ./test1 lrwxrwxrwx. 1 root root 21 Apr 14 21:06 test1 -> /tmp/test/test12/test 软链接的⼤⼩⾮常⼩,只是⼀个链接软链接相当于windows下⾯的快捷⽅式2.给⽂件创建软链接[root@localhost tmp]# ln -s /tmp/test/test12/test/tw.log .软链接的⽬标⽂件和原⽂件的i节点不同3.给⽂件创建⼀个硬链接[root@localhost tmp]# ln /tmp/test/test12/test/tw.log ./tw1.log硬链接的i节点相同[root@localhost tmp]# ln /tmp/test/test12/test ./test_dir ln: `/tmp/test/test12/test': hard link not allowed for directory'硬链接不能针对⽬录使⽤,只能对⽂件使⽤。
Linux常用命令操作大全(推荐收藏)
Linux常⽤命令操作⼤全(推荐收藏)⽬录1.系统信息2.关机 (系统的关机、重启以及登出 )3.⽂件和⽬录4.⽂件搜索5.挂载⼀个⽂件系统6.磁盘空间7.⽤户和群组9.⽂件的权限 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消10.⽂件的特殊属性 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消11.打包和压缩⽂件12.RPM 包 - (Fedora, Redhat及类似系统)13.YUM 软件包升级器 - (Fedora, RedHat及类似系统)14.DEB 包 (Debian, Ubuntu 以及类似系统)15.APT 软件⼯具 (Debian, Ubuntu 以及类似系统)16.查看⽂件内容17.⽂本处理18.字符设置和⽂件格式转换19.⽂件系统分析20.初始化⼀个⽂件系统21.SWAP⽂件系统22.备份23.光盘24.⽹络 - (以太⽹和WIFI⽆线)1.系统信息命令arch显⽰机器的处理器架构(1)uname -m显⽰机器的处理器架构(2)uname -r显⽰正在使⽤的内核版本dmidecode -q显⽰硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda罗列⼀个磁盘的架构特性hdparm -tT /dev/sda在磁盘上执⾏测试性读取操作cat /proc/cpuinfo显⽰CPU info的信息cat /proc/interrupts显⽰中断cat /proc/meminfo校验内存使⽤cat /proc/swaps显⽰哪些swap被使⽤cat /proc/version显⽰内核的版本cat /proc/net/dev显⽰⽹络适配器及统计cat /proc/mounts显⽰已加载的⽂件系统lspci -tv罗列 PCI 设备lsusb -tv显⽰ USB 设备date显⽰系统⽇期cal 2007显⽰2007年的⽇历表date 0412********.00设置⽇期和时间 - ⽉⽇时分年.秒clock -w将时间修改保存到 BIOS2.关机 (系统的关机、重启以及登出 )命令shutdown -h now关闭系统(1)init 0关闭系统(2)telinit 0关闭系统(3)命令shutdown -h hours:minutes &按预定时间关闭系统shutdown -c取消按预定时间关闭系统shutdown -r now重启(1)reboot重启(2)logout注销3.⽂件和⽬录命令cd /home进⼊ '/ home' ⽬录'cd ..返回上⼀级⽬录cd ../..返回上两级⽬录cd进⼊个⼈的主⽬录cd ~user1进⼊个⼈的主⽬录cd -返回上次所在的⽬录pwd显⽰⼯作路径ls查看⽬录中的⽂件ls -F查看⽬录中的⽂件ls -l显⽰⽂件和⽬录的详细资料ls -a显⽰隐藏⽂件ls [0-9]显⽰包含数字的⽂件名和⽬录名tree显⽰⽂件和⽬录由根⽬录开始的树形结构(1)lstree显⽰⽂件和⽬录由根⽬录开始的树形结构(2)mkdir dir1创建⼀个叫做 'dir1' 的⽬录'mkdir dir1 dir2同时创建两个⽬录mkdir -p /tmp/dir1/dir2创建⼀个⽬录树rm -f file1删除⼀个叫做 'file1' 的⽂件rmdir dir1删除⼀个叫做 'dir1' 的⽬录'rm -rf dir1删除⼀个叫做 'dir1' 的⽬录并同时删除其内容rm -rf dir1 dir2同时删除两个⽬录及它们的内容mv dir1 new_dir重命名/移动⼀个⽬录cp file1 file2复制⼀个⽂件cp dir/* .复制⼀个⽬录下的所有⽂件到当前⼯作⽬录cp -a /tmp/dir1 .复制⼀个⽬录到当前⼯作⽬录cp -a dir1 dir2复制⼀个⽬录ln -s file1 lnk1创建⼀个指向⽂件或⽬录的软链接ln file1 lnk1创建⼀个指向⽂件或⽬录的物理链接touch -t 0712250000 file1修改⼀个⽂件或⽬录的时间戳 - (YYMMDDhhmm)iconv -l列出已知的编码4.⽂件搜索命令find / -name file1从 '/' 开始进⼊根⽂件系统搜索⽂件和⽬录find / -user user1搜索属于⽤户 'user1' 的⽂件和⽬录find /home/user1 -name \*.bin在⽬录 '/ home/user1' 中搜索带有'.bin' 结尾的⽂件find /usr/bin -type f -atime +100搜索在过去100天内未被使⽤过的执⾏⽂件find /usr/bin -type f -mtime -10搜索在10天内被创建或者修改过的⽂件find / -name \*.rpm -exec chmod 755 '{}' \;搜索以 '.rpm' 结尾的⽂件并定义其权限find / -xdev -name *.rpm搜索以 '.rpm' 结尾的⽂件,忽略光驱、捷盘等可移动设备locate *.ps寻找以 '.ps' 结尾的⽂件 - 先运⾏ 'updatedb' 命令whereis halt显⽰⼀个⼆进制⽂件、源码或man的位置which halt显⽰⼀个⼆进制⽂件或可执⾏⽂件的完整路径命令5.挂载⼀个⽂件系统命令mount /dev/hda2 /mnt/hda2挂载⼀个叫做hda2的盘 - 确定⽬录 '/ mnt/hda2' 已经存在umount /dev/hda2卸载⼀个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出fuser -km /mnt/hda2当设备繁忙时强制卸载umount -n /mnt/hda2运⾏卸载操作⽽不写⼊ /etc/mtab ⽂件- 当⽂件为只读或当磁盘写满时⾮常有⽤mount /dev/fd0 /mnt/floppy挂载⼀个软盘mount /dev/cdrom /mnt/cdrom挂载⼀个cdrom或dvdrommount /dev/hdc /mnt/cdrecorder挂载⼀个cdrw或dvdrommount /dev/hdb /mnt/cdrecorder挂载⼀个cdrw或dvdrommount -o loop file.iso /mnt/cdrom挂载⼀个⽂件或ISO镜像⽂件mount -t vfat /dev/hda5 /mnt/hda5挂载⼀个Windows FAT32⽂件系统mount /dev/sda1 /mnt/usbdisk挂载⼀个usb 捷盘或闪存设备mount -t smbfs -o username=user,password=pass//WinClient/share /mnt/share挂载⼀个windows⽹络共享6.磁盘空间命令df -h显⽰已经挂载的分区列表ls -lSr |more以尺⼨⼤⼩排列⽂件和⽬录du -sh dir1估算⽬录 'dir1' 已经使⽤的磁盘空间'du -sk * | sort -rn以容量⼤⼩为依据依次显⽰⽂件和⽬录的⼤⼩rpm -q -a --qf '%10{SIZE}t%{NAME}n'sort -k1,1ndpkg-query -W -f='installed-size;10t{Package}n'sort -k1,1n7.⽤户和群组命令groupadd group_name创建⼀个新⽤户组groupdel group_name删除⼀个⽤户组groupmod -n new_group_name old_group_name重命名⼀个⽤户组useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bashuser1创建⼀个属于 "admin" ⽤户组的⽤户useradd user1创建⼀个新⽤户userdel -r user1删除⼀个⽤户 ( '-r' 排除主⽬录)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1修改⽤户属性passwd修改⼝令passwd user1修改⼀个⽤户的⼝令 (只允许root执⾏)chage -E 2005-12-31 user1设置⽤户⼝令的失效期限pwck检查 '/etc/passwd' 的⽂件格式和语法修正以及存在的⽤户grpck检查 '/etc/passwd' 的⽂件格式和语法修正以及存在的群组newgrp group_name登陆进⼀个新的群组以改变新创建⽂件的预设群组9.⽂件的权限 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消命令ls -lh显⽰权限ls /tmp | pr -T5 -W$COLUMNS将终端划分成5栏显⽰命令chmod ugo+rwx directory1设置⽬录的所有⼈(u)、群组(g)以及其他⼈(o)以读(r )、写(w)和执⾏(x)的权限chmod go-rwx directory1删除群组(g)与其他⼈(o)对⽬录的读写执⾏权限chown user1 file1改变⼀个⽂件的所有⼈属性chown -R user1 directory1改变⼀个⽬录的所有⼈属性并同时改变改⽬录下所有⽂件的属性chgrp group1 file1改变⽂件的群组chown user1:group1 file1改变⼀个⽂件的所有⼈和群组属性find / -perm -u+s罗列⼀个系统中所有使⽤了SUID控制的⽂件chmod u+s /bin/file1设置⼀个⼆进制⽂件的 SUID 位 - 运⾏该⽂件的⽤户也被赋予和所有者同样的权限chmod u-s /bin/file1禁⽤⼀个⼆进制⽂件的 SUID位chmod g+s /home/public设置⼀个⽬录的SGID 位 - 类似SUID ,不过这是针对⽬录的chmod g-s /home/public禁⽤⼀个⽬录的 SGID 位chmod o+t /home/public设置⼀个⽂件的 STIKY 位 - 只允许合法所有⼈删除⽂件chmod o-t /home/public禁⽤⼀个⽬录的 STIKY 位10.⽂件的特殊属性 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消命令chattr +a file1只允许以追加⽅式读写⽂件chattr +c file1允许这个⽂件能被内核⾃动压缩/解压chattr +d file1在进⾏⽂件系统备份时,dump程序将忽略这个⽂件chattr +i file1设置成不可变的⽂件,不能被删除、修改、重命名或者链接chattr +s file1允许⼀个⽂件被安全地删除chattr +S file1⼀旦应⽤程序对这个⽂件执⾏了写操作,使系统⽴刻把修改的结果写到磁盘chattr +u file1若⽂件被删除,系统会允许你在以后恢复这个被删除的⽂件lsattr显⽰特殊的属性11.打包和压缩⽂件命令bunzip2 file1.bz2解压⼀个叫做 'file1.bz2'的⽂件bzip2 file1压缩⼀个叫做 'file1' 的⽂件gunzip file1.gz解压⼀个叫做 'file1.gz'的⽂件gzip file1压缩⼀个叫做 'file1'的⽂件gzip -9 file1最⼤程度压缩rar a file1.rar test_file创建⼀个叫做 'file1.rar' 的包rar a file1.rar file1 file2 dir1同时压缩 'file1', 'file2' 以及⽬录 'dir1'rar x file1.rar解压rar包unrar x file1.rar解压rar包tar -cvf archive.tar file1创建⼀个⾮压缩的 tarballtar -cvf archive.tar file1 file2 dir1创建⼀个包含了 'file1', 'file2' 以及 'dir1'的档案⽂件tar -tf archive.tar显⽰⼀个包中的内容tar -xvf archive.tar释放⼀个包tar -xvf archive.tar -C /tmp将压缩包释放到 /tmp⽬录下tar -cvfj archive.tar.bz2 dir1创建⼀个bzip2格式的压缩包tar -xvfj archive.tar.bz2解压⼀个bzip2格式的压缩包tar -cvfz archive.tar.gz dir1创建⼀个gzip格式的压缩包tar -xvfz archive.tar.gz解压⼀个gzip格式的压缩包zip file1.zip file1创建⼀个zip格式的压缩包zip -r file1.zip file1 file2 dir1将⼏个⽂件和⽬录同时压缩成⼀个zip格式的压缩包unzip file1.zip解压⼀个zip格式压缩包12.RPM 包 - (Fedora, Redhat及类似系统)命令rpm -ivh package.rpm安装⼀个rpm包rpm -ivh --nodeeps package.rpm安装⼀个rpm包⽽忽略依赖关系警告rpm -U package.rpm更新⼀个rpm包但不改变其配置⽂件rpm -F package.rpm更新⼀个确定已经安装的rpm包rpm -e package_name.rpm删除⼀个rpm包rpm -qa显⽰系统中所有已经安装的rpm包rpm -qa grep httpdrpm -qi package_name获取⼀个已安装包的特殊信息rpm -qg "System Environment/Daemons"显⽰⼀个组件的rpm包rpm -ql package_name显⽰⼀个已经安装的rpm包提供的⽂件列表rpm -qc package_name显⽰⼀个已经安装的rpm包提供的配置⽂件列表rpm -q package_name --whatrequires显⽰与⼀个rpm包存在依赖关系的列表rpm -q package_name --whatprovides显⽰⼀个rpm包所占的体积rpm -q package_name --scripts显⽰在安装/删除期间所执⾏的脚本lrpm -q package_name --changelog显⽰⼀个rpm包的修改历史rpm -qf /etc/httpd/conf/httpd.conf确认所给的⽂件由哪个rpm包所提供rpm -qp package.rpm -l显⽰由⼀个尚未安装的rpm包提供的⽂件列表rpm --import /media/cdrom/RPM-GPG-KEY导⼊公钥数字证书rpm --checksig package.rpm确认⼀个rpm包的完整性rpm -qa gpg-pubkey确认已安装的所有rpm包的完整性rpm -V package_name检查⽂件尺⼨、许可、类型、所有者、群组、MD5检查以及最后修改时间rpm -Va检查系统中所有已安装的rpm包- ⼩⼼使⽤rpm -Vp package.rpm确认⼀个rpm包还未安装rpm2cpio package.rpm cpio --extract --make-directories binrpm -ivh /usr/src/redhat/RPMS/arch/package.rpm从⼀个rpm源码安装⼀个构建好的包rpmbuild --rebuild package_name.src.rpm从⼀个rpm源码构建⼀个 rpm 包13.YUM 软件包升级器 - (Fedora, RedHat及类似系统)命令yum install package_name下载并安装⼀个rpm包yum localinstall package_name.rpm将安装⼀个rpm包,使⽤你⾃⼰的软件仓库为你解决所有依赖关系yum update package_name.rpm更新当前系统中所有安装的rpm包yum update package_name更新⼀个rpm包yum remove package_name删除⼀个rpm包yum list列出当前系统中安装的所有包yum search package_name在rpm仓库中搜寻软件包yum clean packages清理rpm缓存删除下载的包yum clean headers删除所有头⽂件yum clean all删除所有缓存的包和头⽂件14.DEB 包 (Debian, Ubuntu 以及类似系统)命令dpkg -i package.deb安装/更新⼀个 deb 包dpkg -r package_name从系统删除⼀个 deb 包dpkg -l显⽰系统中所有已经安装的 deb 包dpkg -l grep httpddpkg -s package_name获得已经安装在系统中⼀个特殊包的信息dpkg -L package_name显⽰系统中已经安装的⼀个deb包所提供的⽂件列表dpkg --contents package.deb显⽰尚未安装的⼀个包所提供的⽂件列表dpkg -S /bin/ping确认所给的⽂件由哪个deb包提供命令15.APT 软件⼯具 (Debian, Ubuntu 以及类似系统)命令apt-get install package_name安装/更新⼀个 deb 包apt-cdrom install package_name从光盘安装/更新⼀个 deb 包apt-get update升级列表中的软件包apt-get upgrade升级所有已安装的软件apt-get remove package_name从系统删除⼀个deb包apt-get check确认依赖的软件仓库正确apt-get clean从下载的软件包中清理缓存apt-cache search searched-package返回包含所要搜索字符串的软件包名称16.查看⽂件内容命令cat file1从第⼀个字节开始正向查看⽂件的内容tac file1从最后⼀⾏开始反向查看⼀个⽂件的内容more file1查看⼀个长⽂件的内容less file1类似于 'more' 命令,但是它允许在⽂件中和正向操作⼀样的反向操作head -2 file1查看⼀个⽂件的前两⾏tail -2 file1查看⼀个⽂件的最后两⾏tail -f /var/log/messages实时查看被添加到⼀个⽂件中的内容17.⽂本处理命令cat file1 file2 mand <> file1_in.txt_or_file1_out.txtcat file1command( sed, grep, awk, grep, etc...) > result.txtcat file1command( sed, grep, awk, grep, etc...) >> result.txt grep Aug /var/log/messages在⽂件 '/var/log/messages'中查找关键词"Aug"grep ^Aug /var/log/messages在⽂件 '/var/log/messages'中查找以"Aug"开始的词汇grep [0-9] /var/log/messages选择 '/var/log/messages' ⽂件中所有包含数字的⾏grep Aug -R /var/log/*在⽬录 '/var/log' 及随后的⽬录中搜索字符串"Aug"sed 's/stringa1/stringa2/g' example.txt将example.txt⽂件中的 "string1" 替换成 "string2"sed '/^$/d' example.txt从example.txt⽂件中删除所有空⽩⾏sed '/ *#/d; /^$/d' example.txt从example.txt⽂件中删除所有注释和空⽩⾏echo 'esempio'tr '[:lower:]' '[:upper:]'sed -e '1d' result.txt从⽂件example.txt 中排除第⼀⾏sed -n '/stringa1/p'查看只包含词汇 "string1"的⾏sed -e 's/ *$//' example.txt删除每⼀⾏最后的空⽩字符sed -e 's/stringa1//g' example.txt从⽂档中只删除词汇 "string1" 并保留剩余全部sed -n '1,5p;5q' example.txt查看从第⼀⾏到第5⾏内容sed -n '5p;5q' example.txt查看第5⾏sed -e 's/00*/0/g' example.txt⽤单个零替换多个零cat -n file1标⽰⽂件的⾏数cat example.txt awk 'NR%2==1'echo a b c awk '{print $1}'echo a b c awk '{print $1,$3}'paste file1 file2合并两个⽂件或两栏的内容paste -d '+' file1 file2合并两个⽂件或两栏的内容,中间⽤"+"区分sort file1 file2排序两个⽂件的内容sort file1 file2 | uniq取出两个⽂件的并集(重复的⾏只保留⼀份)sort file1 file2 | uniq -u删除交集,留下其他的⾏命令sort file1 file2 | uniq -d取出两个⽂件的交集(只留下同时存在于两个⽂件中的⽂件)comm -1 file1 file2⽐较两个⽂件的内容只删除 'file1' 所包含的内容comm -2 file1 file2⽐较两个⽂件的内容只删除 'file2' 所包含的内容comm -3 file1 file2⽐较两个⽂件的内容只删除两个⽂件共有的部分18.字符设置和⽂件格式转换命令dos2unix filedos.txt fileunix.txt将⼀个⽂本⽂件的格式从MSDOS转换成UNIXunix2dos fileunix.txt filedos.txt将⼀个⽂本⽂件的格式从UNIX转换成MSDOSrecode ..HTML < page.txt > page.html将⼀个⽂本⽂件转换成htmlrecode -l | more显⽰所有允许的转换格式19.⽂件系统分析命令badblocks -v /dev/hda1检查磁盘hda1上的坏磁块fsck /dev/hda1修复/检查hda1磁盘上linux⽂件系统的完整性fsck.ext2 /dev/hda1修复/检查hda1磁盘上ext2⽂件系统的完整性e2fsck /dev/hda1修复/检查hda1磁盘上ext2⽂件系统的完整性e2fsck -j /dev/hda1修复/检查hda1磁盘上ext3⽂件系统的完整性fsck.ext3 /dev/hda1修复/检查hda1磁盘上ext3⽂件系统的完整性fsck.vfat /dev/hda1修复/检查hda1磁盘上fat⽂件系统的完整性fsck.msdos /dev/hda1修复/检查hda1磁盘上dos⽂件系统的完整性dosfsck /dev/hda1修复/检查hda1磁盘上dos⽂件系统的完整性20.初始化⼀个⽂件系统命令mkfs /dev/hda1在hda1分区创建⼀个⽂件系统mke2fs /dev/hda1在hda1分区创建⼀个linux ext2的⽂件系统mke2fs -j /dev/hda1在hda1分区创建⼀个linux ext3(⽇志型)的⽂件系统mkfs -t vfat 32 -F /dev/hda1创建⼀个 FAT32 ⽂件系统fdformat -n /dev/fd0格式化⼀个软盘mkswap /dev/hda3创建⼀个swap⽂件系统21.SWAP⽂件系统命令mkswap /dev/hda3创建⼀个swap⽂件系统swapon /dev/hda3启⽤⼀个新的swap⽂件系统swapon /dev/hda2 /dev/hdb3启⽤两个swap分区22.备份命令dump -0aj -f /tmp/home0.bak /home制作⼀个 '/home' ⽬录的完整备份dump -1aj -f /tmp/home0.bak /home制作⼀个 '/home' ⽬录的交互式备份restore -if /tmp/home0.bak还原⼀个交互式备份rsync -rogpav --delete /home /tmp同步两边的⽬录rsync -rogpav -e ssh --delete /home ip_address:/tmp通过SSH通道rsyncrsync -az -e ssh --delete ip_addr:/home/public /home/local通过ssh和压缩将⼀个远程⽬录同步到本地⽬录rsync -az -e ssh --delete /home/local ip_addr:/home/public通过ssh和压缩将本地⽬录同步到远程⽬录dd bs=1M if=/dev/hda gzipdd if=/dev/sda of=/tmp/file1备份磁盘内容到⼀个⽂件tar -Puf backup.tar /home/user执⾏⼀次对 '/home/user' ⽬录的交互式备份操作( cd /tmp/local/ && tar c . )ssh -C user@ip_addr 'cd /home/share/ && tar x -p'( tar c /home )ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'tar cf - .(cd /tmp/backup ; tar xf - )find /home/user1 -name '*.txt'xargs cp -av --target-directory=/home/backup/ --parentsfind /var/log -name '*.log'tar cv --files-from=-dd if=/dev/hda of=/dev/fd0 bs=512 count=1做⼀个将 MBR (Master Boot Record)内容复制到软盘的动作dd if=/dev/fd0 of=/dev/hda bs=512 count=1从已经保存到软盘的备份中恢复MBR内容命令23.光盘命令cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force清空⼀个可复写的光盘内容mkisofs /dev/cdrom > cd.iso在磁盘上创建⼀个光盘的iso镜像⽂件mkisofs /dev/cdrom gzip > cd_iso.gzmkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.isodata_cd创建⼀个⽬录的iso镜像⽂件cdrecord -v dev=/dev/cdrom cd.iso刻录⼀个ISO镜像⽂件gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -刻录⼀个压缩了的ISO镜像⽂件mount -o loop cd.iso /mnt/iso挂载⼀个ISO镜像⽂件cd-paranoia -B从⼀个CD光盘转录⾳轨到 wav ⽂件中cd-paranoia -- "-3"从⼀个CD光盘转录⾳轨到 wav ⽂件中(参数-3)cdrecord --scanbus扫描总线以识别scsi通道dd if=/dev/hdc | md5sum校验⼀个设备的md5sum编码,例如⼀张 CD 24.⽹络 - (以太⽹和WIFI⽆线)命令ifconfig eth0显⽰⼀个以太⽹卡的配置ifup eth0启⽤⼀个 'eth0' ⽹络设备ifdown eth0禁⽤⼀个 'eth0' ⽹络设备ifconfig eth0 192.168.1.1 netmask 255.255.255.0控制IP地址ifconfig eth0 promisc设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)dhclient eth0以dhcp模式启⽤ 'eth0'route -n show routing tableroute add -net 0/0 gw IP_Gateway configure default gatewayroute add -net 192.168.0.0 netmask 255.255.0.0 gw192.168.1.1configure static route to reach network '192.168.0.0/16' route del 0/0 gw IP_gateway remove static routeecho "1" > /proc/sys/net/ipv4/ip_forward activate ip routinghostname show hostname of systemhost lookup hostname to resolve name to ip address and viceversa(1)nslookup lookup hostname to resolve name to ip address and viceversa(2)ip link show show link status of all interfacesmii-tool eth0show link status of 'eth0'ethtool eth0show statistics of network card 'eth0'netstat -tup show all active network connections and their PIDnetstat -tupl show all network services listening on the system and their PIDtcpdump tcp port 80show all HTTP traffic命令iwlist scan show wireless networksiwconfig eth1show configuration of a wireless network cardwhois lookup on Whois database到此这篇关于Linux 常⽤命令操作⼤全(推荐收藏)的⽂章就介绍到这了,更多相关Linux 常⽤命令操作内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
《Linux系统编程》linux网络编程概述
7.1 网络概述
7.1.5 TCP与UDP
• 本节将简单阐述TCP(传输控制协议)和UDP(用户数据报协议)的区别,二者的工 作原理及编程实现在后续章节中将会详述。
• 1. 相同点 • 二者同为传输层协议。 • 2. 不同点 • TCP是一种面向连接的传输层协议,它能提供高可靠性通信(数据无误、数据无丢
• 1958年,美国总统艾森豪威尔向美国国会提出建立国防部高级研究计划署 (Defense Advanced Research Project Agency, DARPA),简称ARPA。1968 年6月ARPA提出“资源共享计算机网络”(Resource Sharing Computer Networks),目的是让ARPA的所有计算机互联起来,这个网络叫作ARPAnet (阿帕网),是Internet的雏形。
• (2)IP层特性。IP层作为通信子网的最高层,提供无连接的数据包传输机制,但 IP协议并不能保证IP包传递的可靠性。TCP/IP设计原则之一是为包容各种物理网 络技术,包容性主要体现在IP层中。各种物理网络技术在帧或包格式、地址格式 等方面差别很大,TCP/IP的重要思想之一就是通过IP将各种底层网络技术统一起 来,达到屏蔽底层细节,提供统一虚拟网的目的。
• 本章将开始介绍有关网络编程的知识。通过学习本章内容,可为后续Linux网络编 程奠定基础。本章首先介绍计算机网络的模型,即网络协议分层,旨在帮助读者 对网络建立初步的、全面立体的认识;其次介绍与网络相关的一些基本概念,包 括协议、端口、地址等;最后介绍应用非常广泛的传输控制协议(Transmission Control Protocol,TCP)和用户数据协议(User Datagram Protocol,UDP)的 基本概念及其区别。
Linux基础入门教程
Linux基础⼊门教程Linux基础⼊门教程---------Linux学习路径Linux学习者,常常不知道⾃⼰改怎么学习linux:Linux初级,也就是⼊门linux前提是需要有⼀些计算机硬件相关的知识或是有⼀下计算机操作系统相关的理论知识linux系统的安装linux常⽤的命令的使⽤linux⽤户和⽂件的管理操作linux中⼀下常⽤软件的安装linux中基础⽹络的配置管理shell简单脚本的编写Linux中级:linux中服务相关的配置和搭建linux⾼级:linux程序开发---------------------参考的⽹址:https:///os/85895.html---------------ll 命令列出的⽂件的信息的7列信息的分析⽂件类型及⽂件的rwx硬链接数⽂件的所有者⽂件的所属组⽂件的⼤⼩⽂件的创建或修改的时间⽂件的名称----------------------------软链接是创建了⽂件的快捷⽅式,硬链接是copy了⼀份⽂件,硬链接⽂件的⼤⼩和rwx:r可读权限:可以查看⽂件的内容,可以列出⽬录⽂件中的内容w可写权限:可以修改⽂件内容,可以在⽬录⽂件中创建或删除指定的⽂件x可执⾏权限:可以运⾏某个⽂件,或可以进⼊⽬录⽂件中------------------locate 查找⽂件⽐find速度更快⼀些-----------|| 或:第⼀个命令执⾏成功,则第⼆个不执⾏,第⼀个命令执⾏失败,则执⾏第⼆个-------------0 (stdin)标准输⼊ 1 (stdout)标准输出 2 (stderr)标准错误输出输出重定向:就是把输出的结果显⽰到⼀个⽂件上(>表⽰输出重定向)----------------输⼊重定向:< 将右边⽂件中的内容或内容中的部分输⼊到右边-----------------ll命令Linux系统发布于1991年Linux系统的优点:免费,开源,稳定,多任务,多⽤户,具有良好的可移植性Linux对硬件的要求:i7以上,8G内存以上,反正RAM是越⼤越好禁⽤Linux的防⽕墙--------------查看Linux的⽹卡信息ifconfig重启⽹卡service network restart查看防⽕墙的状态service iptables status很多知识的博⼤精深,学起来还是需要费⼀些劲的ls命令 list 显⽰⽂件或⽬录ls -a 显⽰所有⽂件ls -l 显⽰⽂件的详细信息touch 创建⼀个⽂件mkdir 创建⼀个⽬录rm -rf ⽂件名删除⼀个⽂件----------------------------------cd . 表⽰当前⽬录cd .. 表⽰当前⽬录的上⼀级⽬录ls 查看当前⽬录的内容pwd 查看当前所在⽂件的路径terminal 相当于cmd 终端service network restart查看防⽕墙的状态service iptables status字符集选择UTF-8Xshell4远程⼯具操作Linux系统clear 假装清空的命令----------------------修改主机名:root@主机名hostname 名字vim /etc/sysconfig/network--------------Tab 补全的快捷命令- 开头的是普通的⽂件d 开头的是⽬录⽂件查看⼀个指定⽬录的⽂件信息ls -la /usrls -l /etc---------------Linux中⽂件的信息 ll⽂件的类型-⽂件的rwx权限- 硬链接数所有者(谁创建的) 所属组⽂件的⼤⼩⽂件的创建或修改时间⽂件的名称- 表⽰普通的⼆进制⽂件d 表⽰⽬录directoryl 表⽰软链接,快捷⽅式rwx r读权限 w write写权限 x execute 执⾏权限所有者 user 所属组 group 其他⼈ others------------vim中的命令模式,编辑模式,末⾏模式cp a.txt /usr/local/a.txt递归的copycp -r d1 /usr/local/d1rm remove删除⽂件rm -f 删除⽂件rm -r 删除⽬录rm -f a.txtrm -r d1/---------------------cat 查看100⾏内的⽂件内容more ⽤空格可以翻页 Enter可以下⼀⾏ Q键退出或是Ctrl+Chead -number ⽂件名查看⽂件的前⼏⾏tail -number ⽂件名查看⽂件的后⼏⾏mv 原⽂件新⽂件移动或重命名⽂件:剪切功能ln linkln -s 源⽂件⽬标⽂件创建软链接、软链接:所有⼈都可以访问,类似于快捷⽅式ln 源⽂件⽬标⽂件创建硬链接硬链接:硬链接的⼤⼩和源⽂件⼀样,且同步更新,类似于copy硬链接不能跨⽂件系统分区软链接可以权限处理chmod 命令change modelchmod ugo += rwx ⽂件或⽬录ugo: user group others给⽂件a.txt的user加上x权限chmod u+x a.txt给⽂件a.txt的user去掉x权限chmod u-x a.txt----------------------------rwx 421 7 读写执⾏权限-----------------------------递归的创建⽬录mkdir -p a/b/c⽂件夹的写权限,表⽰可以删除⽂件夹下的所有数据⽂件的写权限,表⽰是否可以对⽂件进⾏修改操作如果需要删除这个⽂件的权限,当前的⽂件所在的⽂件夹需要有写的权限才⾏⽬录的w权限表⽰:可以在⽬录下创建或是删除⽂件的权限⽬录的x权限表⽰:可以进⼊到这个⽬录中去⽬录的r权限表⽰:可以列出⽬录中的内容----------------------------------------------chown xxx 1.txt 改变⽂件的所有者chgrp admin b.txt 改变⽂件的所属组umask -S 查看系统默认的权限创建⼀个⽂件系统默认的权限就是755=777-022-----------------⽂件搜索命令find -userfind /etc -name initfind /etc -name *initfind /etc -name init 前⾯必须有4个1k=2 block 数据块100M=2*102400 block---------------------------ctime: c表⽰change 改变⽂件属性:所有者,所属组,权限atime: a表⽰access 表⽰被访问过的意思,被查看了mtime: m表⽰modify 更改内容的意思-时间表⽰时间之内+时间表⽰时间之外----------------------------找60分钟以内的修改⽂件find /etc -cmin -60找60分钟以外的修改⽂件find /etc -cmin +60-a and 逻辑的与:表⽰并且的意思find /etc -size +200000 -a -size 300000find /etc -size +200000 -a -name ca*-o or 逻辑的或find /etc -size +200000 -o -name ca*-----------------which 查看命令所在的⽬录位置whereis lswhich ls--------------------找到⼀个⽂件并执⾏某个命令找到etc⽬录中的1.txt并执⾏删除操作find /etc -name 1.txt -exec rm -f {} \;将本地⽬录中的⽂件查找后进⾏显⽰find /usr/local -exec ls -l {} \;找到所有名字有init开头的⽂件并将找到的所有⽂件显⽰出来find /etc -name init* -a -type f -exec ls -la {} \;查看⽂件的i节点ls -li----------------查看命令的描述whatis命令的帮助⽂档man查看某个命令的选项⽤法--help-------------------打包压缩tar-c ⽤tar打包⽂件-x 解压-v 显⽰打包操作的执⾏过程-f 指定压缩或解压后的⽂件名-z 压缩-C 解压后⽂件存放的路径tar -xzvf 软件包名.tar.gz -C /home/hao 将软件包名.tar.gz解压到指定的⽬录下(注意:-C为⼤写)zip 压缩后⽂件名称源⽂件unzip 需要解压缩的⽂件 -d 解压后⽂件的存放路径------------pingping 127.0.0.1ping 域名会得到域名对应的IP地址ping IP地址关机 poweroff清屏 Ctrl+L退出或中断当前操作 Ctrl+C命令⾃动补全:Tab-----------grep 过滤| 管道 popels -l /etc |morels -l /etc |grep initls -l /etc |grep init |wc -l----------------输⼊输出重定向0 stdin 标准输⼊1 stdout 标准输出2 stderr 标准错误输出输出重定向:将,命令的执⾏结果,存放到⼀个⽂件中去> 表⽰重定向:表⽰重新覆盖写⼊>> 表⽰在原⽂件的内容的最后⾯添加写⼊错误信息的重定向2>---------------输⼊重定向:将⼀个⽂件中的内容,读出来显⽰到另外⼀个位置<wall < 1.txt----------------------vim Linux系统中最常⽤的⽂本编辑器刚进⼊的是:命令模式i 光标前插⼊A 本⾏的⾏末尾追加内容a 在光标后追加⽂本内容o 在下⼀⾏插⼊O 在上⼀⾏插⼊ao插⼊模式,编辑模式ESC 末⾏模式冒号模式:wq 保存并退出vimset nu 让⽂本显⽰⾏号set nonu 取消⽂本的⾏号vim ⽂件名vi 与vim之间的区别就是⽂本的颜⾊显⽰---------------强制关闭vim 造成的错误,需要删除产⽣的临时⽂件,才能再次编辑⽂本---------⽤户信息的⽂件/etc/passwd密码⽂件/etc/shadow⽤户组⽂件/etc/group⽤户组的密码⽂件/etc/gshadow---------------------Linux中⽤户的分类超级⽤户uid=0的⽤户,⼀般root⽤户是uid为0的⽤户普通⽤户创建⽤户的时候不指定uid的话,默认系统中的uid是⾃增的uid=500-60000伪⽤户:Linux系统中任何进程操作都需要有⼀个⽤户的⾝份-------------------添加⽤户组groupadd删除⽤户组groupdel修改⽤户组groupmod -n 新组名旧组名-------------------------------添加⽤户的操作u: UIDg:G:d:指定添加的⽤户的家⽬录e: 指定添加的⽤户的时效时间----------------------------------修改⽤户usermod -l 新⽤户名旧⽤户名禁⽤⽤户名usermod -L 需要禁⽤的⽤户名解除禁⽤的⽤户名usermod -U 需要解禁的⽤户名禁⽤⽤户的密码passwd -I 需要禁⽤的⽤户名解禁⽤户的密码passwd -u 需要解禁的⽤户名程序是静态的,进程是程序执⾏的过程,是动态的,是有⼀定的⽣命周期的,是动态产⽣和消亡的Linux中进程分为:前台进程和后台进程常⽤的命令都是前台进程前台进程在使⽤的时候是需要占⽤终端的,后台进程在使⽤的时候是不需要占⽤终端的---------------------------ps -el 查看所有的进程,包括没有终端的进程ps -aux 显⽰当前进程占⽤CPU和内存的百分⽐ps -el --sort pid 对进程进⾏排序,ps -aux |grep rpc 对进程结果进⾏过滤-------------关闭进程 kill 进程号强制关闭进程 kill -9 进程号重启进程 kill -1 进程号---------Ctrl+C 终⽌⼀个程序的运⾏-------top 实时监控系统中的进程和性能------------Linux中的计划任务at 在某⼀时刻执⾏⼀次cron 周期性的执⾏的删除计划任务at -d 任务编号at -l 查看任务crontab -l 显⽰当前的计划任务crontab -r 删除当前的计划任务crontab -e 编辑当前的计划任务查看计划任务的程序是否启动了ps -el |grep crond⼿动的启动⼀下/etc/rc.d/init.d/crond start---------------crontab ⽂件保存在 /var/spool/cron ⽬录中------------Linux中的⽬录Linux中的软件的安装的仓库学会shell脚本后,你⾃⼰可以编写shell脚本,你也可以看懂别⼈写的脚本很多的事情不是会了才去做的,⽽是做了才会的linux 李纽克斯利尼克斯⾥纳克斯linux创始⼈,林纳斯-脱袜⼦------------------Linux是从unix模仿和改编⽽来的组管理和权限管理:linux中每个⽤户必须属于⼀个组⽂件:所有者,所在组,其他⼈查看⽂件的所有者:ls -ahl创建⼀个组groupadd xxx在组下⾯创建⼀个⽤户useradd -g xxx ssschown 修改⽂件的所有者修改某个⽂件的所在组chgrp 组名指定的⽂件usermod -g 组名⽤户名usermod -d ⽬录名⽤户名查看⼀个⽤户的信息id 指定的⽤户名===================================压缩和解压命令gzip和gunzipgzip 压缩为 .gz⽂件, 压缩后源⽂件会被删除gunzip 解压.gz压缩⽂件zip ⽤于压缩为.zip压缩⽂件unzip解压.zip压缩⽂件将home⽬录中的⽂件压缩为myzip.zip⽂件zip -r myzip.zip /home/将myzip.zip解压到/opt/tmp/unzip -d /opt/tmp/ myzip.ziptar打包压缩命令tar压缩后的⽂件为 .tar.gz⽂件tar -zcvf xxx.tar.gz 需要压缩的⽂件名将home下所有⽂件进⾏打包压缩tar -zcvf myhome.tar.gz /home/将myhome.tar.gz解压到当前⽬录下tar -zxvf myhome.tar.gz将myhome.tar.gz解压到已存在的/opt/tmp/⽬录中tar -zxvf myhome.tar.gz -C /opt/tmp/===================================unix是1973年⽤C语⾔编写的===================================⽤户配置⽂件/etc/passwd⽤户名 : 密码 : ⽤户id : 组id : 家⽬录 : shell存放⽤户密码的⽂件,加密过的密码/etc/shadow组配置⽂件/etc/group===================================→←root密码找回:开机的时候按enter键use the ↑and ↓keys to select which entry is highlightedpress enter to boot the selected os e to edit the commandsbefore booting a to modify the kernel argumentsbefore booting or c for a command line按 e选中kernel⾏use the ↑and ↓keys to select which entry is highlightedpress b to boot e to edit the selected command in the boot sequence c for a command-line oto open a new line after o for before the selected line d to remove the selected line or escape to go back to the main menu 输⼊ 1 然后enter按 b 进⼊的是单⽤户的模式,单⽤户模式不需要⽤root密码可以直接进系统passwd root设置⼀个新的root密码===================================man帮助命令help帮助命令pwd 显⽰当前的⼯作⽬录的绝对路径ls 显⽰当前⽬录下的⽂件和⽬录ls -l 显⽰当前⽬录下的⽂件和⽬录的详细信息ls -lh ⽤常规的单位查看⽂件cd 切换⽬录绝对路径:从根⽬录开始定位相对路径:从当前⼯作⽬录开始定位到需要的⽬录去..表⽰上级⽬录mkdir 创建⽬录依次创建多级⽬录mkdir -p /⽬录1/⽬录2/⽬录3rmdir 只能删除空⽬录rm -rf 可以删除任何⽂件或⽬录cp 复制⽂件或⽬录cp 需要复制的⽂件或⽬录复制到的⽬录路径cp -r 需要复制的⽂件或⽬录复制到的⽬录路径touch 命令mv命令剪切:mv 需要剪切的⽂件或⽬录剪切到的⽬录cat -n 显⽰⾏号的查看⽂件的内容分页显⽰⽂件内容 cat -n ⽂件名 |moremore命令,以全屏的⽅式,分页查看⽂件的内容less命令,功能更强的查看⽂件内容,查看⼤⽂件速度较快> 输出重定向,覆盖写⼊>> 追加,追加写⼊cal 显⽰当前的⽉份的⽇历echo 爱考打印内容echo $PATH 查看当前环境变量的路径head 查看⼀个⽂件开头部分前⼏⾏的内容head -n 5 显⽰前5⾏的内容head 默认显⽰⼀个⽂件的前10⾏的内容tail 默认显⽰⽂件的后10⾏的内容tail -n 5 显⽰后5⾏的内容tail 实时刷新查看的⽂件内容,如果⽂件内容有变化,tail的显⽰结果就跟着变化,可以起到实时监控的作⽤ln 软链接命令,类似于windows上的快捷⽅式ln -s /root LinkToRoot 给/root创建了⼀个快捷⽅式,LinkToRoot删除软链接:rm -rf LinkToRoothistory 查看已经执⾏过的历史命令history 10 显⽰最近执⾏过的10条命令!历史命令的编号再次执⾏⼀遍历史编号的命令date 显⽰当前时间date "+%Y %m %d %H:%M:%S" 显⽰年⽉⽇时分秒date -s "2018-11-11 11:11:11" 给系统设置指定的时间calender ⽇历cal 2018 显⽰2018年的⽇历cal 显⽰当前⽉份的⽇历find 在⽬录中找包含关键词的⽂件find ⽬录的路径 -name 需要查找的⽂件名,或者⽂件名的关键词find ⽬录的路径 -user ⽤户名,按照⽂件的拥有者查找⽂件find ⽬录的路径 -size +100m 找出所有⼤于100M的⽂件Ctrl+C 终⽌当前命令的执⾏locate 查询速度⽐较快,updatedb 更新数据库locategrep 过滤,查找⽂件内容grep -n 显⽰查找结果和对应的⾏号grep -i 查找的时候忽略⼤⼩写|管道符,表⽰将前⼀个命令的执⾏结果,作为后⾯命令的执⾏条件家⽬录:linux中⼀个⽤户⾄少得有⼀个⽤户组,可以有多个⽤户组新建⽤户useradd ⽤户名useradd新建⽤户的时候默认新建了⼀个相同名字的组useradd -d /home/xxx ⽤户名指定的⽬录需要提前存在cd 是指change directory 切换⽬录删除⽤户userdel ⽤户名userdel -r ⽤户名删除⽤户并删除这个⽤户的家⽬录实际⼯作中只删除⽤户名,不删除⽤户对应的家⽬录查询⼀个⽤户的信息:⽤户id号,组id号,所在组的名称id ⽤户名whoami 查看当前系统登录的⽤户⽤切换⽤户su - 需要切换到的⽤户名exit 返回到原来切换前的⽤户新建组groupadd 组名删除组groupdel 组名新建⽤户的时候就指定对应的组useradd -g 组名⽤户名修改⽤户的组usermod -g 新⽤户组⽤户名关机:shutdown -h now ⽴即关机shutdown -h 1 表⽰1分钟后关机shutdown -r now ⽴即重启halt 关机poweroff 关机reboot 重启sync 把内存中的数据同步到磁盘中去,把没有保存的数据进⾏保存操作,关机或者重启时最好先执⾏⼀下sync防⽌数据丢失logout 注销当前⽤户,⽤于远程登录,在本地主机中⽆效===================================vim复制当前⾏yy粘贴 p从当前⾏开始复制5⾏ 5yy粘贴 p删除当前⾏ dd从当前⾏开始删除5⾏ 5dd设置⾏号 :set nu取消⾏号 :set nonu末⾏模式下输⼊ u 表⽰撤销操作G 跳到末⾏gg 跳到⾏⾸20 Shift+g 跳到第20⾏===================================Xshell⼯具Xftp⼯具,上传和下载⽂件的⼯具linux系统中的远程服务sshd服务22端⼝setup 系统服务查看⼀下sshd是否是开启状态的远程⼯具的乱码问题⽤UTF-8的编码格式===================================Linux中⼀切皆⽂件,所有的设备或者硬件都映射为⼀个⽂件来进⾏管理bin 命令⽬录,是binary的简写dev 设备⽂件etc 配置⽂件home 家⽬录lib 动态库⽂件media 光驱,U盘⽂件识别后会存放在这个⽬录中mnt 挂载⽂件夹,识别其他⽂件系统的⽂件opt 安装的软件存放⽬录proc 系统内核⽂件root 管理员⽤户sbin 管理员使⽤的命令selinux 安全⽂件夹,Security-Enhanced Linux)简称 SELinuxtmp 临时⽂件夹usr ⽤户安装的⽂件或⽂件夹usr/local 安装的外加软件的默认的安装⽬录var 不断变化的⽂件,像⽇志⽂件的存放位置boot 系统的启动引导⽂件lost+found 系统⾮正常关机后⽣成的⼀些⽂件的存放位置Linux系统中有且只有⼀个根⽬录/Linux是以⽂件的形式来管理设备的,所以linux系统中⼀切皆⽂件\反斜杠===================================虚拟机的⽹络连接的三种形式模型桥连接:虚拟机的IP与真实主机的IP在同⼀⽹段中,容易出现IP冲突,去掉⽹关1和⼴播地址255:255-2=253个可⽤的IP,会出现IP地址不够⽤的情况NAT模式:真实主机上有两个IP⼀个IP与虚拟机中的ip在同⼀个⽹段上,Linux可以访问外⽹不会造成IP冲突,仅主机模式:Linux上的IP地址是⼀个独⽴的IP⽹段,不能访问外⽹所以⼀般虚拟机建议使⽤NAT模式Tab键选择OK或者Skip/根分区/swap分区===================================windows与Linux的区别windows是收费的系统Linux是免费,可定制再发布的系统听⼀嘴吧===================================登录Linux后,我们就可以在#或$符后⾯去输⼊命令,有的时候命令后⾯还会跟着选项(options)或参数(arguments)find查找⼀个⽂件在系统中的什么位置,locate是神速版本的find(Windows下有个神器Everything和locate功能类似)--------------------年轻的时候,我们的⽣活中根本就不应该有下班这个概念,我们需要⼏乎所有的时间来使⾃⼰成为⼀个更好的⼈,更优秀的⼈⼀个⼈宝贵的就是时间,优秀的技术技能绝不是朝九晚五就可以解决的,⽽是靠⾃觉和⾃我剥削来完善⾃⼰。
Linux
Linux为一种源码公开的(自由)软件,是一种真正多(任务)和多(用户)的网络操作系统。
软件分类按其发行办法可以分为(自由软件)、(共享软件)、(商业软件)三类。
Linux共有两个版本,即(红旗Linux)和(RedHat)。
Linux的(发行)版本是在核心模块之外加入了大量的软件包。
凡是带有微处理器的专用软硬件系统都可以称为(嵌入式)系统。
Linux的内核(小)、效率(高),内核的更新速度快。
集群技术是指一组相互独立的服务器在网络中表现为(单一)的系统,并以(单一系统)的模式加以管理。
大多数模式下,集群中所有的计算机拥有一个共同的(名称),集群内任一系统运行的(服务)可被所有的网络客户所使用。
Linux与其他操作系统的最大区别是(源代码公开)。
GNU是指(一个自由软件工程项目)。
与Windows下的文件组织结构不同,Linux不使用磁盘分区符号来访问文件系统,而是将整个文件系统表示成(树状)结构,Linux系统每增加一个文件系统都会将其加入到这个树中。
/boot目录中包含Linux的(内核)及(引导系统)所需要的文件目录。
dev目录包含了所有Linux系统中使用的(外部设备)。
新建用户,用户名是“clh”,那么在/home目录下就有一个对应的(文件)路径,此目录是该用户的主目录。
在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,会产生一些文件碎片存放在这里。
这些文件放在(临时)目录中。
Root目录是Linux(管理员)root的主目录。
Sdb2中的sd表示(磁盘),b表示第2块(磁盘),2表示第2个(分区)。
Linux至少要设置一个(根)分区,一个(交换)分区;swap交换空间,相当于Windows上的(虚拟内存)如果计算机的内存为2GB,则一般需要将交换分区容量设置为(2GB)至(4GB)。
在系统安装过程中可以创建以下两种账号,是(超级用户账号)和(普通用户)。
在众多桌面系统中,(桌面版)和(移动版)是绝大多数Linux发行版都自带的桌面系统,也是使用最为广泛的两种桌面系统。
