linux简单操作笔记
- 格式:docx
- 大小:67.88 KB
- 文档页数:6
linux学习笔记31--命令route和routetraceLinux系统的route命令⽤于显⽰和操作IP路由表(show / manipulate the IP routing table)。
要实现两个不同的⼦⽹之间的通信,需要⼀台连接两个⽹络的路由器,或者同时位于两个⽹络的⽹关来实现。
在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在⼀个局域⽹中,局域⽹中有⼀个⽹关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
要注意的是,直接在命令⾏下执⾏route命令来添加路由,不会永久保存,当⽹卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
1.命令格式:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]2.命令功能:Route命令是⽤于操作基于内核ip路由表,它的主要作⽤是创建⼀个静态路由让指定⼀个主机或者⼀个⽹络通过⼀个⽹络接⼝,如eth0。
当使⽤"add"或者"del"参数时,路由表被修改,如果没有参数,则显⽰路由表当前的内容。
3.命令参数:-c 显⽰更多信息-n 不解析名字-v 显⽰详细的处理信息-F 显⽰发送信息-C 显⽰路由缓存-f 清除所有⽹关⼊⼝的路由表。
-p 与 add 命令⼀起使⽤时使路由具有永久性。
add:添加⼀条新路由。
del:删除⼀条路由。
-net:⽬标地址是⼀个⽹络。
-host:⽬标地址是⼀个主机。
netmask:当添加⼀个⽹络路由时,需要使⽤⽹络掩码。
gw:路由数据包通过⽹关。
注意,你指定的⽹关必须能够达到。
metric:设置路由跳数。
Command 指定您想运⾏的命令 (Add/Change/Delete/Print)。
linux 服务器常用操作命令1.基本命令- pwd:查看当前所在目录- ls:列出当前目录下的文件和文件夹- cd:切换目录- touch:创建文件- mkdir:创建新的目录- rm:删除文件或目录- cp:复制文件或目录- mv:重命名文件或目录,或移动文件或目录到其他位置- cat:查看文件内容- grep:在文件中搜索指定的字符串- find:查找文件并执行相应操作- chmod:修改文件和目录的权限- chown:修改文件和目录的所有者- top:实时查看系统的资源使用情况- ps:显示当前正在运行的进程信息2.文件操作- echo:输出文本内容到终端或文件- head:显示文件的前几行- tail:显示文件的后几行- less:按页查看文件内容- wget:下载文件- tar:打包和解压文件- gzip:压缩文件- unzip:解压缩文件- file:查看文件类型- scp:在本地和远程服务器之间进行文件传输- sftp:通过SSH协议在本地和远程服务器之间进行文件传输3.网络相关- ifconfig:显示网络接口配置信息- ping:测试与指定主机的连通性- netstat:显示网络连接、路由表和网络接口信息- ssh:建立安全的远程登录连接- telnet:建立与远程主机的非安全连接- nslookup:域名解析工具- traceroute:显示数据包在网络上的传输路径- ifup/ifdown:启用/禁用网络接口- iptables:配置防火墙规则4.系统管理- uname:显示系统信息- whoami:显示当前用户- id:显示用户信息- date:显示系统日期和时间- uptime:显示系统的运行时间和平均负载- free:显示内存的使用情况- df:显示磁盘空间的使用情况- du:查看文件和目录的磁盘使用情况- kill:关闭指定进程- reboot:重启系统- shutdown:关闭系统5.用户和权限管理- useradd:创建用户- userdel:删除用户- passwd:修改用户密码- su:切换用户- sudo:以超级用户权限执行命令- visudo:配置sudo的访问权限- chattr:修改文件属性- addgroup:创建用户组- delgroup:删除用户组- chmod:修改文件和目录的权限- chown:修改文件和目录的所有者6.日志管理- tail:实时显示日志文件的最后几行内容- cat:显示整个日志文件的内容- grep:在日志文件中搜索指定的字符串- systemctl:管理系统服务- journalctl:查看系统日志7.进程管理- ps:显示当前正在运行的进程信息- top:实时查看当前系统进程的资源占用情况- kill:终止指定进程- nice:调整进程的优先级- nohup:在后台运行命令,不受终端断开影响- renice:修改进程的优先级这些是Linux服务器常用的操作命令,能够实现大部分日常操作和系统管理任务。
linux笔记全(⽆图版)1、ls 查看当前⽬录下的所有内容⿊⾊的是⽂件,蓝⾊的是⽂件夹,也就是⽬录2、rm -f anaconda-ks. cfg 彻底删除⽂件(如不确定,则需要先保存备份,也就是快照)3、ifconfig 查看⽹卡的配置信息(ip地址等)4、ifconfig ens33 192.168.18. 201 /24(⽹络地址/⼦⽹掩码)更改ip地址5、systemctl restart network 重启⽹络服务6、桥接模式,直接可以进⾏通信(同⼀⽹段,配置ip)7、能不能通信的2个条件:在同⼀个物理⽹络内,ip地址也在同⼀⽹段内8、仅主机模式,虚拟机和物理机不能进⾏通信,相当于虚拟机和物理机进⾏了隔离与笔记本(真机)通信截图9、NAT模式,⾃动分配⽹络地址和⽹关,以及dns,可以直接上⽹可以访问互联⽹内的主机,但互联⽹内的主机不能访问本机(max特点)10、route -n 查看⽹关11、cat /etc/resolv. conf 查看dns(注意cat后⾯有⼀个空格,空格不可少)12、验证nat模式可以直接上⽹13、shell:通常指linux的字符界⾯,图形界⾯和字符界⾯都属于shell,但图形界⾯的shell常称为gui,字符界⾯的shell常称为cli14、cat /etc/shells 查看⽂件内容(linux⾥⾯提供的所有的shell)15、linux默认使⽤的shell是bash的shell16、echo $SHELL 查看当前使⽤的shell17、shell默认指的是bash,它的应⽤是最⼴泛的18、linux是彻底的多⽤户多任务,它可以直接多个⽤户同时进⾏操作19、ctrl+alt+f2-f6 对应5个shell ctrl+alt+f1 开始图形界⾯shell 作⽤:如何开始shell(也就是如何打开命令界⾯)20、虚拟终端的缩写为tty, 在字符界⾯下执⾏“tty"命令就可以显⽰⽤户⽬前所在的终端编号(终端名称)。
linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础今天的笔记主要是关于Linux操作系统根底的相关学问。
那就从我⾯前的电脑开端讲起。
计算机和操作系统计算机主要包括五个部分:运算器,控制器,存储器,输⼊设备和输出设备。
通常,运算器,控制器再加上其他⼀些部件如寄存器等构成了我们通常所说的CPU(central processing unit),存储器则主要是内存。
运算器,控制器和存储器可以实现数据的处理.但是数据从何⽽来,运算之后的结果去往哪⾥?这就需要输⼊设备和输出设备(I/O设备)。
我们通常⽤到的输⼊设备包括键盘⿏标等,输出设备为屏幕,打印机等。
值得⼀提的是,计算机中有个叫做硬盘的东西,它并不是存储器,⽽是⼀个I/O设备。
在将数据读取到内存时,它是⼀个输⼊设备;⽽将结果保存到磁盘时,它就变成了⼀个输出设备。
这么多设备整合在⼀起,就成了⼀台计算机。
它可以接收我们的指令(键盘⿏标),通过运算(CPU),把结果展⽰给我们(屏幕,硬盘等)。
但是这么多硬件是如何协调作⽤,共同完成⼀个任务⽽不会我⾏我素地乱来呢?我们需要⼀个东西,它可以控制硬件有序地⼯作,各⾃执⾏⾃⼰的任务,这个东西就是操作系统(Operating System)。
操作系统是⼀个特殊的软件,它的任务就是硬件管理—控制CPU的运算,控制内存的分配,控制计算机的⼏乎⼀切。
假如⼀台电脑没有操作系统,它可能只是⼀个艺术品,或者⼀堆废铁。
⼀个完整的操作系统包括内核和⼀些辅助软件。
内核的主要任务就是进⾏硬件管理,它是⼀个操作系统最基础最底层的东西。
内核若想很好地控制硬件并使其发挥相应的功能,需要和硬件相识相知相爱,他俩可以成为完美的⼀对,全都仰仗于驱动的帮忙。
驱动是硬件的灵魂,它向操作系统提供了访问和使⽤硬件的接⼝,以便在某项任务中最⾼效地调⽤硬件。
什么是LinuxLinux就是⼀个操作系统,它可以管理整个计算机硬件,并且可以接收我们的指令,来指挥硬件完成相应的任务,并把结果反馈给我们。
linuxvim操作笔记V1. 默认字符编码为utf8,打开使⽤gb2312编码的⽂件,中⽂全为乱码,如何恢复正常显⽰? 输⼊ edit ++enc=cp936V2. 如何在vim系统中执⾏命令?输⼊ !cmdV3. 使⽤vim直接打开并编辑.*gz⽂件,⽽⽆须解压,读取,编辑,再压缩.压缩⽂件的⽀持是通过pluginvim ls-lrR.txt.gzV4. 如何Vim⽀持语法加亮?⼀劳永逸的⽅法,在~/.vimrc中增加如下语句syntax on临时性的⽅法, 输⼊命令:syntax onV5. Vim如何在结构⽂档中快速切换,⽐如 C语⾔{ }块之间切换.输⼊在{}之间,输⼊%即可V6. 如何让Vim记下我的编辑状态,以便下次快速恢复⼯作?输⼊ :mksession file_name_your_sessionV7. 如何让Vim告诉你编辑⽂件的字节数,字数,当前位置信息?输⼊ g CTRL_GV8. 输⼊help,打开了帮助窗⼝,如何快速关闭?输⼊CTRL-W ,然后再输⼊CTRL-Q,或者输⼊CTRL-W qV9. 我要每天编辑⽇志,我不想去输⼊⽇期与时间,该怎么办?现要如这样的⽇期形式Mon Sep 19 23:19:03 CST 2005,简单,定义⼀个快捷键F2,在vim中做这样⼀个映射:map gg:read !dateV10. 如何使⽤Vim改变⽂本⽂件的编码?⽐如,原有1个⽂档为utf-8编码的,现在要将它改为cp936编码,可⽤如下指令:set fileencoding=cp936然后再保存⽂件:wV11. 如何将vim记住我的配置选项(⽐如默认的编码⽅式,⽂件类型等)?请将你的配置命令写到~/.vimrc配置脚本⽂件中V12. 如何查看当前编辑的C/C++源⽂件所有include⽂件路径?输⼊:checkpathV13. 如何保存全局的配置选现(对所有⽤户都可⽤)?先输⼊:version, 查看系统vimrc配置⽂件的值再编辑系统vimrc配置⽂件,加⼊你想要vim执⾏的命令V14. 如何快速复制Buffer中的⼀⾏⽂字?输⼊yy先记录到缓冲区, 移动光标到想要粘贴处,按pV15. 如何利⽤宏命令,⽣成数字顺序列表?1. Create the first list entry, make sure it starts with a number.2. qa - start recording into buffer ‘a’3. Y - yank the entry4. p - put a copy of the entry below the first one5. CTRL-A - increment the number6. q - stop recording7. @a - repeat the yank, put and increment timesV16. 如何实现⽂本的折叠(Fold)?⾃动Fold,假设你的⽂件是C源⽂件,输⼊:set foldmethod=indent:set foldenable⼿动Fold,选中你要折的⾏,在Normal模式下输⼊命令 zf当Fold创建后,移动光标到Fold所在⾏输⼊ zo, 打开相应的Foldzc, 关闭相应的FoldzM, 关闭⽂件中所有的FoldzR, 打开⽂件中所有的Foldza, ⾃动打开或关闭相应的FoldV17. 如何查看当前⽂件中的字,字符个数?输⼊g CTRL-G 即可,所有字节数按UTF-8的形式进⾏计数.V18. 如何在Visual模式下快速搜索当前选中的⽂字?为了不改变⽤户使⽤习惯,我们依然沿⽤*和#这两键vnoremap * y/“vnoremap # y?“注: 指令插⼊命名寄存器的内容V19. 如何在源代码中不同块/段落间来回跳跃?输⼊ { , 前进⾄上⼀段落输⼊ } , 前进⾄后⼀段落V20. 如何⽂本中的TAB转化为固定长度的空格?输⼊ :set expandtab输⼊ :set tabstop=4输⼊ :retabV21. vim中paste剪贴板中的数据如何让它不缩进,保持原格式?paste时,输⼊的⽂本⼤多会包含换⾏字符,还有⼀些特殊字符,vim会⾃动对⽂本缩进,并且⾃动换⾏等,为了避免这些智能选项的影响,可以把paste开关打开V22. 有趣的⼏个功能gg 到⽂件⾸gd 到变量声明gg=G 全篇⾃动缩进 , =G 单⾏缩进K(shift+k) mancrl+] 函数原型处 crl+t 回 ( ctags )ctl+p ⾃动补全( 编辑状态 ):X 加密保存( 要输⼊密码 )使⽤说明:以下的例⼦中 xxx 表⽰在命令模式下输⼊ xxx 并回车以下的例⼦中 :xxx 表⽰在扩展模式下输⼊ xxx 并回车⼩括号中的命令表⽰相关命令.在编辑模式或可视模式下输⼊的命令会另外注明.1. 查找/xxx(?xxx) 表⽰在整篇⽂档中搜索匹配xxx的字符串, / 表⽰向下查找, ? 表⽰向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.⼀般来说是区分⼤⼩写的, 要想不区分⼤⼩写, 那得先输⼊:set ignorecase查找到以后, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.*(#) 当光标停留在某个单词上时, 输⼊这条命令表⽰查找与该单词匹配的下(上)⼀个单词. 同样, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, ⽽是匹配包含该单词的所有字符串.gd 本命令查找与光标所在单词相匹配的单词, 并将光标停留在⽂档的⾮注释段中第⼀次出现这个单词的地⽅.% 本命令查找与光标所在处相匹配的反括号, 包括 () [] {}f(F)x 本命令表⽰在光标所在⾏进⾏查找, 查找光标右(左)⽅第⼀个x字符.找到后:输⼊ ; 表⽰继续往下找输⼊ , 表⽰反⽅向查找2. 快速移动光标在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很⽅便的进⾏光标定位和编辑. 因此能更快⼀点移动光标是很有⽤的.w(e) 移动光标到下⼀个单词.b 移动光标到上⼀个单词.0 移动光标到本⾏最开头.^ 移动光标到本⾏最开头的字符处.$ 移动光标到本⾏结尾处.H 移动光标到屏幕的⾸⾏.M 移动光标到屏幕的中间⼀⾏.L 移动光标到屏幕的尾⾏.gg 移动光标到⽂档⾸⾏.G 移动光标到⽂档尾⾏.c-f (即 ctrl 键与 f 键⼀同按下) 本命令即 page down.c-b (即 ctrl 键与 b 键⼀同按下, 后同) 本命令即 page up.” 此命令相当有⽤, 它移动光标到上⼀个标记处, ⽐如⽤ gd, * 等查找到某个单词后, 再输⼊此命令则回到上次停留的位置.‘. 此命令相当好使, 它移动光标到上⼀次的修改⾏.`. 此命令相当强⼤, 它移动光标到上⼀次的修改点.3. 拷贝, 删除与粘贴在 vi 中 y 表⽰拷贝, d 表⽰删除, p 表⽰粘贴. 其中拷贝与删除是与光标移动命令结合的, 看⼏个例⼦就能够明⽩了.yw 表⽰拷贝从当前光标到光标所在单词结尾的内容.dw 表⽰删除从当前光标到光标所在单词结尾的内容.y0 表⽰拷贝从当前光标到光标所在⾏⾸的内容.d0 表⽰删除从当前光标到光标所在⾏⾸的内容.y$ 表⽰拷贝从当前光标到光标所在⾏尾的内容.d$ 表⽰删除从当前光标到光标所在⾏尾的内容.yfa 表⽰拷贝从当前光标到光标后⾯的第⼀个a字符之间的内容.dfa 表⽰删除从当前光标到光标后⾯的第⼀个a字符之间的内容.特殊地:yy 表⽰拷贝光标所在⾏.dd 表⽰删除光标所在⾏.D 表⽰删除从当前光标到光标所在⾏尾的内容.关于拷贝, 删除和粘贴的复杂⽤法与寄存器有关, 可以⾃⾏查询.4. 数字与命令在 vi 中数字与命令结合往往表⽰重复进⾏此命令, 若在扩展模式的开头出现则表⽰⾏号定位. 如:5fx 表⽰查找光标后第 5 个 x 字符.5w(e) 移动光标到下五个单词.5yy 表⽰拷贝光标以下 5 ⾏.5dd 表⽰删除光标以下 5 ⾏.y2fa 表⽰拷贝从当前光标到光标后⾯的第⼆个a字符之间的内容.:12,24y 表⽰拷贝第12⾏到第24⾏之间的内容.:12,y 表⽰拷贝第12⾏到光标所在⾏之间的内容.:,24y 表⽰拷贝光标所在⾏到第24⾏之间的内容. 删除类似.5. 快速输⼊字符在 vi 中, 不要求你输⼊每⼀个字符, 可以有很多种⽅法快速输⼊⼀些字符.使⽤ linux/unix 的同学⼀定有⼀个经验, 在命令⾏下输⼊命令时敲⼊头⼏个字符再按TAB 系统就会⾃动将剩下的字符补齐, 假如有多个匹配则会打印出来. 这就是著名的命令补齐(其实windows中也有⽂件名补齐功能). vi 中有许多的字符串补齐命令, ⾮常⽅便.c-p(c-n) 在编辑模式中, 输⼊⼏个字符后再输⼊此命令则 vi 开始向上(下)搜索开头与其匹配的单词并补齐, 不断输⼊此命令则循环查找. 此命令会在所有在这个 vim 程序中打开的⽂件中进⾏匹配.c-x-l 在编辑模式中, 此命令快速补齐整⾏内容, 但是仅在本窗⼝中出现的⽂档中进⾏匹配.c-x-f 在编辑模式中, 这个命令表⽰补齐⽂件名. 如输⼊:/usr/local/tom 后再输⼊此命令则它会⾃动匹配出:/usr/local/tomcat/abbr 即缩写. 这是⼀个宏操作, 可以在编辑模式中⽤⼀个缩写代替另⼀个字符串. ⽐如编写java⽂件的常常输⼊ System.out.println, 这很是⿇烦, 所以应该⽤缩写来减少敲字. 可以这么做::abbr sprt System.out.println以后在输⼊sprt后再输⼊其他⾮字母符号, 它就会⾃动扩展为System.out.println6. 替换替换是 vi 的强项, 因为可以⽤正规表达式来匹配字符串.以下提供⼏个例⼦.:s/aa/bb/g 将光标所在⾏出现的所有包含 aa 的字符串中的 aa 替换为 bb:s/\/bb/g 将光标所在⾏出现的所有 aa 替换为 bb, 仅替换 aa 这个单词:%s/aa/bb/g 将⽂档中出现的所有包含 aa 的字符串中的 aa 替换为 bb:12,23s/aa/bb/g 将从12⾏到23⾏中出现的所有包含 aa 的字符串中的 aa 替换为 bb :12,23s/^/#/ 将从12⾏到23⾏的⾏⾸加⼊ # 字符:%s= *$== 将所有⾏尾多余的空格删除:g/^\s*$/d 将所有不包含字符(空格也不包含)的空⾏删除.7. 多⽂件编辑在⼀个 vim 程序中打开很多⽂件进⾏编辑是挺⽅便的.:sp(:vsp) ⽂件名 vim 将分割出⼀个横(纵)向窗⼝, 并在该窗⼝中打开新⽂件.从 vim6.0 开始, ⽂件名可以是⼀个⽬录的名称, 这样, vim 会把该⽬录打开并显⽰⽂件列表, 在⽂件名上按回车则在本窗⼝打开该⽂件, 若输⼊ O 则在新窗⼝中打开该⽂件, 输⼊ ? 可以看到帮助信息.:e ⽂件名 vim 将在原窗⼝中打开新的⽂件, 若旧⽂件编辑过, 会要求保存.c-w-w vim 分割了好⼏个窗⼝怎么办? 输⼊此命令可以将光标循环定位到各个窗⼝之中.:ls 此命令查看本 vim 程序已经打开了多少个⽂件, 在屏幕的最下⽅会显⽰出如下数据:1 %a “usevim.html” ⾏ 1622 # “xxxxxx.html” ⾏ 0其中:1 表⽰打开的⽂件序号, 这个序号很有⽤处.%a 表⽰⽂件代号, % 表⽰当前编辑的⽂件,# 表⽰上次编辑的⽂件“usevim.html” 表⽰⽂件名.⾏ 162 表⽰光标位置.:b 序号(代号) 此命令将指定序号(代号)的⽂件在本窗⼝打开, 其中的序号(代号)就是⽤ :ls 命令看到的.:set diff 此命令⽤于⽐较两个⽂件, 可以⽤:vsp filename命令打开另⼀个⽂件, 然后在每个⽂件窗⼝中输⼊此命令,就能看到效果了.8. 宏替换vi 不仅可以⽤ abbr 来替换⽂字, 也可以进⾏命令的宏定义. 有些命令输起来很费劲, 因此我把它们定义到 - 上, 这样就很⽅便了.这些配置可以预先写到 ~/.vimrc (windows 下为 $VIM/_vimrc) 中, 写进去的时候不⽤写前⾯的冒号.:nmap :nohls 取消被搜索字串的⾼亮:nmap w 命令模式下转移光标到不同窗⼝:imap 输⼊模式下运⾏:nmap :%s= *$== 删除所有⾏尾多余的空格.:imap 同上:java 中: (注, 这⾥为什么说 java 中, 因为以下定义对其他⽂件格式不起作⽤, 下⽂会说到如何实现这⼀点):nmap :comp javac:mak -d . %此命令⽤ javac 编译 java ⽂件, 它会⾃动将光标定位到出错点. 不过这需要定义⼀个 javac.vim ⽂件在 $VIM/compiler 下, 在 javac.vim ⾥⾯只有两⾏字:setlocal makeprg=javacsetlocal errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#:nmap :comp ant:mak此命令⽤ ant 编译 java ⽂件, 它会⾃动将光标定位到出错点. ⼀般来说, 安装vim 后已经有了compiler/ant.vim⽂件, 因此这个命令可以直接使⽤. 但是需要在当前⽬录下有 build.xml ⽂件, 当然还必须安装 ant 才⾏.:nmap :cl 此命令⽤于查看所有的编译错误.:imap:nmap :cc 此命令⽤于查看当前的编译错误.:imap:nmap :cn 此命令⽤于跳到下⼀个出错位置.:imap:nmap :cp 此命令⽤于跳到上⼀个出错位置.:imap:nmap :JavaBrowser此命令⽤于在窗⼝左部分割出⼀个新窗⼝, ⾥⾯的内容是 java 的资源树, 包括本⽂件中出现的类, 类的成员变量及成员⽅法, 就好像 JCreator 表现的那样.在这个窗⼝中输⼊ ? 会看到帮助. 嘿嘿, 很好⽤, 不过需要 ctags ⽀持.:imap9. TABTAB 就是制表符, 单独拿出来做⼀节是因为这个东西确实很有⽤.<< 输⼊此命令则光标所在⾏向左移动⼀个 tab.>> 输⼊此命令则光标所在⾏向右移动⼀个 tab.5>> 输⼊此命令则光标后 5 ⾏向右移动⼀个 tab.:12,24> 此命令将12⾏到14⾏的数据都向右移动⼀个 tab.:12,24>> 此命令将12⾏到14⾏的数据都向右移动两个 tab.那么如何定义 tab 的⼤⼩呢? 有⼈愿意使⽤ 8 个空格位, 有⼈⽤4个, 有的⽤2个.有的⼈希望 tab 完全⽤空格代替, 也有的⼈希望 tab 就是 tab. 没关系, vim 能帮助你.以下的设置⼀般也都先写⼊配置⽂件中, 免得⽼敲.:set shiftwidth=4 设置⾃动缩进 4 个空格, 当然要设⾃动缩进先.:set sts=4 即设置 softtabstop 为 4. 输⼊ tab 后就跳了 4 格.:set tabstop=4 实际的 tab 即为 4 个空格, ⽽不是缺省的 8 个.:set expandtab 在输⼊ tab 后, vim ⽤恰当的空格来填充这个 tab.10. autocmd这个命令⼗分的强⼤, 可以⽤这个命令实现对不同的⽂件格式应⽤不同的配置; 可以在新建⽂件时⾃动添加上版权声明等等. 这些命令⼀般定义在 ~/.vimrc 这样的配置⽂件⾥⾯. 由于他很强⼤, 所以我不能给出很具体的说明, 只能举⼏个例⼦, 详细的请看帮助. :autocmd! 删除所有之前的⾃动命令.autocmd FileType java source ~/.vim/files/java.vimautocmd FileType java source ~/.vim/files/jcommenter.vim以上两条命令让我在打开 java ⽂件时才应⽤后⾯提到的两个配置⽂件.autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel以上这条命令让我在新建 java ⽂件时⾃动加⼊ java.skel ⽂件的内容.autocmd BufNewFile *.java normal gnp以上这条命令让我在新建 java ⽂件时⾃动运⾏ gnp 命令, 这个命令进⾏⼀些特殊化处理, ⽐如将新 java ⽂件中的 __date__ 替换成今天的⽇期什么的.11. 常⽤脚本在 你可以发现很多脚本(script), 这些脚本常常有让你意想不到的作⽤.我常⽤的有:jcommenter.vim ⾃动加⼊ javadoc 风格的注释.JBrowser.vim 类资源浏览. C, C++ 等可以⽤ Tlist还有许多有⽤的, ⽐如 checkstyle.vim 可以检验你的编程风格, jad.vim 可以直接反编译 .class ⽂件等等.12. 常⽤配置在~/.vimrc 配置⽂件中你常常需要⼀些个性化配置. ⽐如上⾯写的⼀些宏定义, ⼀些autocmd 定义等等. ⽐如:set suffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc这样在vim中打开⽂件时, 按 tab 键补齐⽂件名时它会忽略上述⽂件.set nu 显⽰⾏号set ai 设置⾃动缩进map Y y$ 让 Y 和 D ⼀样, 要不然 Y 的本意和 yy ⼀样.13. 其他还有许多有意思的命令, 记录在这⾥免得忘记.. 重复上次编辑命令.:g/^/exec “s/^/”.strpart(line(”.”).” “, 0, 4) 在⾏⾸插⼊⾏号:runtime! syntax/2html.vim 转换 txt 成 html, 会按照你的颜⾊配置来转。
鸟哥的linux私房菜(基础篇)学习笔记鸟哥的linux私房菜(基础篇)是一本非常好的Linux入门教材,它全面介绍了Linux 的基础知识,包括Linux的安装、文件系统、用户管理、进程管理、磁盘管理、文件编辑器、Shell编程以及Linux网络等方面。
本文将简单介绍一些我学习这本书时的笔记和心得,以期为Linux新手提供一些帮助。
1. 操作系统和内核操作系统是由内核和外壳组成的,内核是操作系统最基础的组成部分,它负责处理硬件和软件的交互,包括驱动程序、内存管理、进程管理和文件系统等。
而外壳则是用户和操作系统进行交互的界面,我们可以通过命令行或者图形化界面与系统进行交互。
2.文件系统在Linux系统中,所有资料都以文件的形式保存在文件系统中,文件系统采用树形结构。
在Linux中,根目录是"/",其他目录都是在根目录下面的子目录。
我们可以使用ls 命令来查看文件目录和文件,也可以使用cd命令来进入和退出目录,另外,文件名是区分大小写的。
3.用户管理在Linux中,每个用户都有自己的ID号、用户名和密码。
通过用户管理,我们可以添加、删除或修改用户,另外,我们可以通过权限控制来限制普通用户访问系统的某些文件或命令,使系统更安全。
4.进程管理在Linux中,每个程序都是一个进程,我们可以使用ps命令查看系统中运行的进程,也可以使用kill命令来终止特定的进程。
另外,我们可以使用top命令来查看系统中当前占用CPU资源最多的进程,以便优化系统性能。
5.磁盘管理Linux系统中的磁盘分为硬盘和分区,我们可以使用fdisk命令来分区,也可以使用mkfs命令来格式化分区,以便在系统中进行挂载。
另外,我们可以使用df命令来查看文件系统的使用情况,以便合理管理磁盘空间。
6.文件编辑器在Linux中,有很多种文件编辑器,如vi、vim、nano等。
其中,vi是最常用的编辑器,而vim是vi的增强版,它提供了更多的功能和快捷键。
Linux Kernel学习笔记——启动启动当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码。
BIOS先进行一系列的系统自检,然后初始化位于地址0的中断向量表。
最后BIOS将启动盘的第一个扇区装入到0x7C00,并开始执行此处的代码.这就是对内核初始化过程的一个最简单的描述。
最初,Linux核心的最开始部分是用8086汇编语言编写的。
当开始运行时,核心将自己装入到绝对地址0x90000,再将其后的2k字节装入到地址0x90200处,最后将核心的其余部分装入到0x10000。
当系统装入时,会显示Loading...信息。
装入完成后,控制转向另一个实模式下的汇编语言代码boot/Setup.S。
Setup部分首先设置一些系统的硬件设备,然后将核心从0x10000处移至0x1000处。
这时系统转入保护模式,开始执行位于0x1000处的代码。
接下来是内核的解压缩。
0x1000处的代码来自于文件Boot/head.S,它用来初始化寄存器和调用decompress_kernel()程序。
decompress_kernel( )程序由Boot/inflate.c, Boot/unzip.c和Boot/misc.c组成。
解压缩后的数据被装入到了0x 处,这也是Linux不能在内存小于2M的环境下运行的主要原因。
解压后的代码在0x处开始执行,紧接着所有的32位的设置都将完成: IDT、GDT 和LDT将被装入,处理器初始化完毕,设置好内存页面,最终调用start_kernel过程。
这大概是整个内核中最为复杂的部分。
[系统开始运行]Linux kernel最早的C代码从汇编标记startup_32开始执行|startup_32:|start_kernel|lock_kernel|trap_init|init_IRQ|sched_init|softirq_init|time_init|console_init|#ifdef CONFIG_MODULES |init_modules|#endif|kmem_cache_init|sti|calibrate_delay|mem_init|kmem_cache_sizes_init |pgtable_cache_init|fork_init|proc_caches_init|vfs_caches_init|buffer_init|page_cache_init|signals_init|#ifdef CONFIG_PROC_FS|proc_root_init|#endif|#if defined(CONFIG_SYSVIPC)|ipc_init|#endif|check_bugs|smp_init|rest_init|kernel_thread|unlock_kernel|cpu_idle·startup_32 [arch/i386/kernel/head.S]·start_kernel [init/main.c]·lock_kernel [include/asm/smplock.h]·trap_init [arch/i386/kernel/traps.c]·init_IRQ [arch/i386/kernel/i8259.c]·sched_init [kernel/sched.c]·softirq_init [kernel/softirq.c]·time_init [arch/i386/kernel/time.c]·console_init [drivers/char/tty_io.c]·init_modules [kernel/module.c]·kmem_cache_init [mm/slab.c]·sti [include/asm/system.h]·calibrate_delay [init/main.c]·mem_init [arch/i386/mm/init.c]·kmem_cache_sizes_init [mm/slab.c]·pgtable_cache_init [arch/i386/mm/init.c]·fork_init [kernel/fork.c]·proc_caches_init·vfs_caches_init [fs/dcache.c]·buffer_init [fs/buffer.c]·page_cache_init [mm/filemap.c]·signals_init [kernel/signal.c]·proc_root_init [fs/proc/root.c]·ipc_init [ipc/util.c]·check_bugs [include/asm/bugs.h]·smp_init [init/main.c]·rest_init·kernel_thread [arch/i386/kernel/process.c]·unlock_kernel [include/asm/smplock.h]·cpu_idle [arch/i386/kernel/process.c]start_kernel( )程序用于初始化系统内核的各个部分,包括:*设置内存边界,调用paging_init( )初始化内存页面。
Linux 操作系统基础知识概览以下是一些关于Linux 操作系统的常见知识点:1.Linux 基础:●Linux 的起源和发展历史●Linux 的主要组成部分:内核、Shell、文件系统等●常见的Linux 发行版(如Ubuntu、Debian、CentOS 等)●常用的命令行工具和基本命令(如ls、cd、mkdir、rm 等)2.用户和权限管理:●用户账户的创建和管理●用户组的概念和使用●文件和目录的权限设置和管理●sudo 权限和root 用户的重要性3.文件系统:●Linux 文件系统的层级结构●常见的文件系统类型(如ext4、XFS、Btrfs 等)●挂载和卸载文件系统●磁盘和分区管理工具(如fdisk、parted 等)4.进程管理:●进程的概念和属性●进程的创建、终止和管理●进程状态的了解和监控●进程间通信的方式(如管道、信号、共享内存等)5.网络和安全性:●网络配置和网络接口管理●网络命令和工具(如ifconfig、ping、ssh 等)●防火墙和安全性措施(如iptables、SELinux 等)●远程访问和远程管理(如SSH、SCP、rsync 等)6.软件包管理:●软件包管理系统(如apt、yum、dnf 等)●软件包的安装、升级和卸载●软件包的依赖关系和解决依赖问题●软件源和仓库的管理7.Shell 脚本编程:●Shell 脚本的基础语法和结构●变量、条件语句、循环和函数的使用●Shell 命令和管道的组合●脚本的调试和错误处理以上只是Linux 操作系统知识的一些常见方面,涵盖了基础知识、用户和权限管理、文件系统、进程管理、网络和安全性、软件包管理以及Shell 脚本编程等。
要深入学习Linux,建议进一步学习和实践这些知识点,并探索更多高级主题,如网络服务配置、系统性能优化等。
Linux学习笔记⼀(⽂件和⽬录操作)1.基本shell操作命令解析器--根据命令的名字,调⽤对应的可执⾏程序shell--unix操作系统bash--Linux操作系统(⽂件系统)Linux⽂件系统的存储单元是块在磁盘上存储的时候每个⽂件都有⼀个inode--i节点,保存了⼀些⽂件信息,通过iNode找到对应的⽂件a.快捷键b.虚拟终端history--查询命令的历史记录ctrl+p == 向上的箭头,查询上⼀个命令ctrl+n == 向下的箭头,查询下⼀个命令ctrl+b 向左移动backctrl+f 向右移动forwardctrl+a 移动到⾏⾸ctrl+e 移动到⾏尾ctrl+h 刪除光标前⾯的字符ctrl+d 刪除光标覆盖的字符ctrl+u 刪除光标前⾯的所有字符ctrl+k 删除光标位置到⾏尾的字符ctrl+l或者clear命令清理屏幕c.命令和路径补齐tab智能提⽰键,按⼀次没反应说明有很多符合条件的命令,再按⼀次出现符合条件的命令列表cd ⽬录 + 连续两次tab,显⽰⽬录下⼀级的所有路径d.centos7防⽕墙操作systemctl start firewalld.service 启动systemctl enable firewalld.service 开机启动systemctl stop firewalld.service 停⽌systemctl disable firewalld.service 禁⽌开机启动systemctl status firewalld.service 查看状态firewall-cmd --state 查看状态2.Linux系统⽬录结构ls 路径(查询当前路径下的所有⽂件)/根⽬录下的⽬录说明:/bin bin是binary的缩写,这个⽬录存放着经常使⽤的命令可执⾏程序/boot 存放的是启动Linux时的⼀些核⼼⽂件,包括⼀些连接⽂件以及镜像⽂件(开机启动项)/dev 是Device(设备)的缩写,该⽬录存放的是Linux的外部设备,在Linux中访问设备的⽅式和访问⽂件的⽅式是相同的(Linux奉⾏⼀切皆⽂件,它会把所有硬件外设抽象成设备⽂件存到dev⽬录之下,⽐如⿏标键盘)/etc ⽤来存放所有系统管理所需要的配置⽂件和⼦⽬录/home ⽤户的主⽬录,在Linux中,每个⽤户都有⼀个⾃⼰的⽬录,⼀般该⽬录名是以⽤户的账号命名。
重启命令立刻重启(root用户使用)rebootshutdown -r nowinit 610分钟后自动重启(root用户使用)shutdown -r 10在时间为20:35时候重启(root用户使用)shutdown -r 20:35如果是通过shutdown命令设置重启的话,可以取消重启shutdown -c关机命令立刻关机(root用户使用)haltpoweroffshutdown -h nowinit 010分钟后自动关机shutdown -h 10hostname命令查看主机名hostname设置主机名临时修改hostname 主机名永久修改vi /etc/hostname网络服务查看IP信息ip a网络连通性测试ping [选项] 目标主机设置网络信息vi /etc/sysconfig/network-scripts/ifcfg-ens32重启network网络服务service network restart防火墙设置查看防火墙状态systemctl status firewalld关闭防火墙systemctl start firewalld禁止开机启动systemctl disable firewalld主机映射文件修改主机名与IP映射关系vi /etc/hosts目录操作命令查看工作目录(Print Working Directory)pwd切换工作目录(Change Directory)cd [目录位置]列表(List)显示目录内容ls [选项]... [目录或文件名]常用命令选项-l :详细信息显示-a:显示所有子目录和文件的信息,包括隐藏文件-A:类似于“-a”,但不显示“.”和“…”目录的信息-R:递归显示内容创建新的目录(Make Directory)mkdir [-p] [/路径/]目录名统计目录及文件的空间占用情况(estimate file space usage)du [选项]... [目录或文件名]常用命令选项-a:统计时包括所有的文件,而不仅仅只统计目录-h:以更易读的字节单位(K、M等)显示信息-s:只统计每个参数所占用空间总的大小文件操作命令新建空文件,或更新文件时间标记touch 文件名查看文件类型file 文件名复制(copy)文件或目录cp [选项] 源文件或目录… 目标文件或目录常用命令选项-r:递归复制整个目录树-p:保持源文件的属性不变-f:强制覆盖目标同名文件或目录-i:需要覆盖文件或目录时进行提醒删除(Remove)文件或目录rm [选项] 文件或目录常用命令选项-f:强行删除文件,不进行提醒-i:删除文件时提醒用户确认-r:递归删除整个目录树移动(Move)文件或目录mv [选项]... 源文件或目录… 目标文件或目录如果目标位置与源位置相同,则相当于改名显示系统命令所在目录which <选项> command(命令名称)常用命令选项-a:将所有由PATH路径中可以找到的指令均列出,而不止第一个被找到的指令名称文件内容操作命令显示出文件的全部内容cat全屏方式分页显示文件内容more交互操作方法按Enter键向下逐行滚动按空格键向下翻一屏、按b键向上翻一屏按q键退出与more命令相同less查看文件开头的一部分内容(默认为10行)head -n 文件名查看文件结尾的少部分内容(默认为10行)tail -n 文件名统计文件中的单词数量(Word Count)等信息wc [选项] 目标文件常用命令选项-l:统计行数-w:统计单词个数-c:统计字节数查找文件里符合条件的字符串grep [选项] <关键字> <文件…>常用选项-c:计算匹配关键字的行数-i:忽略字符大小写的差别-n:显示匹配的行及其行号-s:不显示不存在或不匹配文本的错误信息-h: 查询多个文件时不显示文件名-l:查询文件时只显示匹配字符所在的文件名–color=auto:将找到的关键字部分加上颜色显示压缩命令压缩(解压)文件或目录,压缩文件后缀为gzgzip [选项] 压缩(解压缩)的文件名常用选项-d将压缩文件解压(decompress)-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)-v显示文件名和压缩比(verbose)-num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。
《鸟哥的linux私房菜(基础篇)》学习笔记----------李晶第一部分:linux的规划与安装这里个人相对来说比较熟悉,对于如何安装linux书上有详细介绍。
不过我一般用的都是ubuntu,这个发行版的安装并不是很复杂。
1.linux历史与简介:计算机是由一堆硬件所组成的,操作系统是为了更加有效地控制和使用这些硬件资源。
我们最熟悉的windows就是一种操作系统。
但是linux是完全不同于windows的一种操作系统。
众所皀知癿,Linux癿核心是由Linus Torvalds在1991年癿时候给他开发出来的。
linux沿袭了unix 的许多良好的特性,最重要的也是现今非常受欢迎的原因之一就是linux是开源的,并且在其之上的软件也是免费开源的,以此为基本最后发展出来了开源社区,对整个计算机科学的发展都有很重要的作用。
linux目前有着众多的发行版,Red Hat, SuSE,Ubuntu, Fedora, Debian。
我个人使用的是ubuntu-10.10。
linux的发展路径:Unix癿前身是由贝尔实验室(Bell lab.)癿Ken Thompson利用汇编语言写成的,后来在1971-1973年间由Dennis Ritchie以C语言重新改写,才称为Unix。
1977年由Bill Joy开发出BSD (Berkeley Software Distribution),这些称为Unix-like的操作系统。
1984年由Andrew Tannenbaum制作出Minix操作系统,该系统可以提供原始码以及软件;1984年由Richard Stallman提倡GNU计划,倡导自由软件(Free software),强调其软件可以自由获得,修改,再发行。
1991年由芬兰大学生Linus Torvalds开发出Linux操作系统。
Linux成功主要在于:Minix(Unix), GNU, Internet, POSIX 及虚拟团队的产生。
linux 常用命令自学手册
Linux操作系统是一种开源的操作系统,广泛应用于服务器和嵌入式系统。
下面是一些常用的Linux命令,可以帮助你快速入门和自学:
1. ls,列出当前目录下的文件和子目录。
2. cd,切换目录。
3. pwd,显示当前工作目录的路径。
4. mkdir,创建新的目录。
5. touch,创建新的空文件。
6. cp,复制文件或目录。
7. mv,移动文件或目录,也可用于重命名文件和目录。
8. rm,删除文件或目录。
9. cat,查看文件内容。
10. more和less,逐页查看文件内容。
11. head和tail,分别查看文件的头部和尾部内容。
12. grep,在文件中搜索指定的字符串。
13. find,在文件系统中搜索文件。
14. tar,打包和解压文件。
15. ps,显示系统中正在运行的进程。
16. top,实时显示系统资源占用情况和进程信息。
17. kill,终止指定的进程。
18. chmod,修改文件或目录的权限。
19. chown,修改文件或目录的所有者。
20. sudo,以超级用户权限执行命令。
以上是一些常用的Linux命令,你可以通过查阅Linux操作系统的官方文档或者参考一些在线教程来进一步学习和掌握这些命令的用法和相关参数。
希望这些信息能够帮助你开始自学Linux操作系统。
Linux学习笔记系列(1)据说linux很厉害;⼀、 Linux的发展史。
了解⼀个东西,⾸先就要了解他的历史,emmmm,了解,就是不⽤记得,所以,我也只是知道个⼤概,于是乎,我去别⼈的博客复制⼀下他的历史来这⾥放着。
UnixUnix操作系统是⼀个强⼤的多⽤户、多任务操作系统,⽀持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。
⽬前它的商标权由国际开放标准组织所拥有,只有符合单⼀Unix规范的Unix系统才能使⽤Unix这个名称,否则只能称为类Unix(Unix-like)。
GNUGNU是⾃由软件之⽗Richard Stallman在1984年组织开发的⼀个完全基于⾃由软件的软件体系,与此相应的有⼀分通⽤公共许可证(General Public License,简称GPL)。
Linux以及与他有关的⼤量软件是在GPL的推动下开发和发布的。
⾃由软件之⽗ - Richard Stallman 像⼀个神态庄严的传教⼠⼀样喋喋不休地到处传播⾃由软件的福⾳,阐述他创⽴GNU的梦想:“⾃由的思想,⽽不是免费的午餐”。
这位⾃由软件的“顶级神甫”为⾃⼰的梦想付出了⼤半⽣的努⼒,他不但⾃⼰创作了许多⾃由软件,如:GCC、和GDB,在他的倡导下,⽬前⼈们熟悉的⼀些软件如BIND、Perl、Apache、TCP/IP等都成了⾃由软件的经典之作。
如果说Richard Stallman创⽴并推动了⾃由软件的发展,那么,Linus Torvalds毫不犹豫奉献给GNU的Linux,则把⾃由软件的发展带⼊到⼀个全新的境界。
BSD386BSD因为法律问题直到1992年还不能发布,NetBSD和FreeBSD是386BSD的后裔,⽐Linux早。
Linus Torvalds说,当时如果有⾃由的基于386的Unix-like操作系统,他就可能不会创造Linux。
Linux笔记(狂神说)笔记关注狂神公众号1、概述及环境搭建1.11)我们为什么要学习LinuxLinux诞⽣了这么多年,以前还喊着如何能取代windows系统,现在这个⼝号已经⼩多了,任何事物发展都有其局限性都有其天花板。
就如同在国内再搞⼀个社交软件取代腾讯⼀样,想想⽽已基本不可能,因为⽤户已经习惯于使⽤微信交流,不是说技术上实现不了解⽽是⽼百姓已经习惯了,想让他们不⽤,即使他们⾃⼰不⽤亲戚朋友还是要⽤,没有办法的事情。
⽤习惯了windows操作系统,再让⼤家切换到别的操作系统基本上是不可能的事情,改变⼀个⼈已经养成的习惯太难。
没有办法深⼊到普通⽼百姓的⽣活中,并不意味着Linux就没有⽤武之地了。
在服务器端,在开发领域Linux倒是越来越受欢迎,很多程序员都觉得不懂点Linux 都觉得不好意思,Linux在开源社区的地位依然岿然不动。
尤其是作为⼀个后端程序员,是必须要掌握Linux的,因为这都成为了你找⼯作的基础门槛了,所以不得不学习!2)Linux 简介Linux 内核最初只是由芬兰⼈林纳斯·托⽡兹(Linus Torvalds)在赫尔⾟基⼤学上学时出于个⼈爱好⽽编写的。
Linux 是⼀套免费使⽤和⾃由传播的类 Unix 操作系统,是⼀个基于 POSIX(可移植操作系统接⼝)和 UNIX 的多⽤户、多任务、⽀持多线程和多 CPU 的操作系统。
Linux 能运⾏主要的 UNIX ⼯具软件、应⽤程序和⽹络协议。
它⽀持 32 位和 64 位硬件。
Linux 继承了 Unix 以⽹络为核⼼的设计思想,是⼀个性能稳定的多⽤户⽹络操作系统。
3)Linux 发⾏版Linux 的发⾏版说简单点就是将 Linux 内核与应⽤软件做⼀个打包。
⽬前市⾯上较知名的发⾏版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
韩顺平LINUX系统笔记第0天开山篇1、linux是一个开源免费的操作系统。
2、学习linux的流程:(1)linux平台上的开发和linux基本操作(2)加强C语言功底:《C专家编程》或者Java语言(3)学习unix环境高级编程(4)Linux应用系统开发/linux嵌入式开发3、书籍推荐:鸟哥的linux私房菜、linux入门到精通、linux内核完全剖析4、学习方法推荐:(1)高效而愉快的学习(2)先建立一个整体框架,然后细节学习(3)用到什么再学什么(4)计算机是做了、练了才会(5)适当的跳过(6)学习linux系统是在琢磨别人怎么做,而不是我认为怎么做第一天1、linux的特点:(1)linux系统时免费开源的(2)linux支持多线程,多用户(3)安全性优良(4)内存和文件管理性能优越2、Linux用户:root(相当于windows的administrator),建议使用普通用户登录,通过su–root切换为身份为管理员3、startx:启动图形用户界面,ctrl+alt+break:切换到控制台环境下4、shutdown now:立即关机shutdown–r now和reboot:立即重启计算机5、注销:logout6、熟悉vi编辑器:vi相当于windows的记事本7、在linux下进行简单的java开发:(1)vi hello.java//创建一个hello.java的文件(2)按"i"进入insert状态,进行文档编辑//编辑一个java文档(3)按"Esc"键退出编辑状态,转换为命令行模式(4)按shift输入冒号,在输入"wq"保存退出,若不保存退出则输入:q!(5)编译java文件:javac hello.java(6)运行java文件:java hello8、ls:列举当前文件夹,参数-l:显示当前目录的详细信息9、ccp程序的编译:编辑过程同上面的java程序,下面只记录编译和运行方式:(1)编译:gcc hello.cpp(2)运行:./a.out//默认编译出的文件为a.out(3)编译时更名:gcc–o hello.out hello.c,编译后的名字变为:hello.out10、set nu:在文件中每行行首加入行号set nonu:取消行号输入数字:直接输入数字,按"Esc"键,将光标移至该行行首/字符串:查找特定字,按"n"继续查找?字符串:查找特定字,按"n"继续查找11、linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录,详细结构图解:12、linux显示当前路径:pwd13、用户管理:(1)添加用户:只有root用户或者拥有root权限的用户才能创建useradd用户名passwd用户名(2)删除用户:只有root用户或者拥有root权限的用户才能删掉userdel用户名(保留用户相关的文件)userdel–r用户名(删除用户及其相关的文件)14、Linux运行级别:init[0,1,2,3,4,5,6]注释:(1)0:关机(2)1:单用户(3)2:没有网络服务的多用户状态(4)3:有网络服务的多用户状态(5)4:系统未使用保留给用户(6)5:图形界面(7)6:系统重启常用级别为3和5,修改运行级别:vi/etc/inittab,修改id:5:inittabdefault中的数字,即可修改运行等级。
第三章安装软件3.1 RPMRPM(RedHat Package Manager):RPM软件包管理器是一种用于Internet下载包的打包及安装工具,为二进制已编译文件,与之对应的开源代码的格式为SRPM。
RPM命令中,长命令格式--query与缩写命令格式-q相对应。
下面是简单的命令说明:命令行选项--install 安装一个软件包--upgrade 升级或将当前已安装软件更新到最新版本--erase 移出或删除一个已安装软件包--query 查询软件信息--force 强制进行安装。
-h 使用符号“#”指示安装进度,与-v参数同时显示效果更好。
--percent 显示已完成百分比进度。
-nodeps 不进行依赖关系检查--test 测试安装是否能成功完成。
-V 检验系统中的RPM包或文件。
-v(/--verbose,详细的) 通知RPM报告每一步操作的详细信息。
例:rpm -qi bash,显示bash包详细信息rpm -ql bash,列出bash包包含的所有文件rpm -qc bash,列出bash包中配置文件rpm -q --qf “[%{INSTALLTIME:date}% \n]” bash,查找bash包安装至系统中的时间使用RPM安装软件包1)# mount /media/cdrom,插入Fedora光盘,将在CDReadOnlyMeida中的文件挂载至/media/cdrom/中;2)# cd /media/cdrom/Fedora/RPMS/,并#ls joe*确定文件是否在其目录下;3)# rpm –install –verbose –hash –test joe*,测试软件依赖关系;4)# rpm –ivh joe*,安装软件;5)# rpm –q joe,查询命令以确认应用安装至系统中。
删除RPM软件包# rpm –e –vvv joe,删除joe软件包并显示详细信息。
linux系统的常用命令及基本操作
Linux系统是一种开源的操作系统,其命令行界面是其最大的特点之一。
以下是一些常用的Linux命令及其基本操作:
1. ls:列出当前目录下的文件和文件夹。
2. cd:切换当前目录。
3. mkdir:创建一个新的目录。
4. rmdir:删除一个空目录。
5. touch:创建一个新的空文件。
6. rm:删除一个文件或目录。
7. mv:移动或重命名文件。
8. cp:复制文件或目录。
9. cat:显示文件的内容。
10. less:逐页显示文件的内容。
11. grep:查找文本文件中的特定字符串。
12. chmod:更改文件或目录的权限。
13. chown:更改文件或目录的所有者。
14. ps:列出运行中的进程。
15. top:显示系统资源的使用情况。
以上的命令只是Linux中的一部分,但这些命令对于初学者来说,已经足够使用。
熟练掌握这些命令,可以帮助您更好地管理您的Linux 系统。
- 1 -。
切换X Window与命令行模式:linux login :rootTab 按键具有命令补全与文件补全在线帮助:man page /info page[root@linux^]LANG="man"[root@linuxx]#man dataDATA(1)以root的身份封入Linux之后输入“ls-al”-rwx rwx文件拥有者与文件所属用户组对文件的权利。
linu的发展主要分为哪两种核心版本、文件属性-rwxrwxrwx表示这个文件的意义是什么?要将一个文件的属性改为-rwxr-xr--采用什么命令?若需要更改一个文件的拥有者与用户组,该用什么命令?linux传统的文件系统是什么?常用的文件登陆格式是那些?文件和目录管理:cd切换目录dmtsai 用户的家目录是/home/dmtsai,root家目录是/root,假设一root身份在linux 系统中,这儿个特殊目录的意义是:[root@linux~]# cd【相对路径或绝对路径】[root@linux~]#cd ~dmtsai#表示去dmstai用户的家目录,及/honme/datsai[root@linux~]#[root@linux~]#[root@linux~]#[root@linux~]#[root@linux~]#[root@linux~]#[root@linux~]#pwd(显示当前所在多的目录)[root@linux~]#pwd [-p]参数:-p :显示出十几路径,而非食用连接(link)路径dmtsai用户的家目录是/home/dmtsai root家目录是/rootpwd显示当前所在目录例:[root@linux~]#pwd [-p]pwd显示当前所在目录mkdir(建立新目录)rm 删除文件或目录mv移动文件与目录,或重命名[root@linux~]#mv [fiv]source dmstination[root@linus ]#mv [options] source1 souroe2 souroe2 .....directory-f;force,强调的意思,强制直接移动而不询问。
linux系统学习笔记==============================智能娱乐系统===================硬件:中控:UI,⾳视频数据处理能⼒操作:显卡,声卡、LED、游戏机、触控屏ARM :cortex - A软件:开发环境:vmware + linux(ubuntu)程序开发:linux C程序移植:交叉开发效果:⾃动处理程序⼀、Linux 命令linux : 图形简陋---> 追求效率⾼移植性强,开源性linux :命令⾏形式进⾏交互ls: 查看全部⽂件名/ --->根⽬录pwd: 打印当前的路径/home/gec 等于~ ---> 家⽬录cd : 直接回到/home/geccd / : 回到根⽬录/cd ..: 回到上⼀级的⽬录ls -l类型权限链接数创建者⼯作组⼤⼩⽇期⽬录名d rwxrwxr-x 2 gec gec 4096 Jul 2 2013 Desktop d:⽬录(第⼀个字母:-:普通⽂件d:⽬录)rwxrwxr-x:⽂件的权限r:读权限w:写权限x:执⾏权限⽤户权限:rwx(创建者的权限)rwx(同组⼈)r-x(其他⼈)clear: 清除屏幕信息touch 创建⽂件touch xxxx ----> 因为⾝份是gec,所以必须在/home/gec中创建rm 删除⽂件/⽬录rm xxxx(⽂件名) ----> 因为⾝份是gec,所以必须在/home/gec中删除rm xxxx(⽬录名) -rfgedit 编辑⽂件gedit xxxxcat 查看⽂件内容cat xxxxmkdir 创建⽬录mkdir xxxx ----> 因为⾝份是gec,所以必须在/home/gec中创建cp 拷贝命令cp ⽂件名⽬录名---> cp abc.c 123/chmod 修改⽂件的权限-rw-rw-r-- 1 gec gec 20 Apr 14 19:43 abc.c4214214216 6 4希望三个⼈都是可读可写可执⾏7 7 7chmod 777 xxxxchmod 777 abc.c-rwxrwxrwx 1 gec gec 20 Apr 14 19:43 abc.c⼆、linux与windows间的共享⽬录1,在windows系统中的D:\创建⼀个名字为share的⽬录2, "虚拟机" --- "设置" ---- "选项" --- "共享⽂件夹" --- "总是启⽤" ---"确定" 3,在linux系统输⼊以下命令来进⼊共享⽬录cd /mnt/hgfs/share/4,在linux与windows分别创建⽬录和⽂件,观察两个系统的变化=====================开发板的使⽤=========================⼀、核⼼板CPU:ARM - cortex -A8名字:S5PV210内存:4块4 * 128MB = 512MBnandfalsh: 1G ---〉linux系统⼆、底板电源线插⼝:5V按键⾳频输⼊(红⾊)输出(绿⾊)串⼝:连接PC机与开发板⽹⼝:快速传输数据三、使⽤GEC210板⼦1,接上电源线2,串⼝线⼀端接在开发板上,另⼀端接在USB转串⼝上,USB⼝接在电脑的USB⼝上。
Linux常⽤命令学习总结Linux常⽤命令学习总结Linux命令是对Linux系统进⾏管理的命令,对于Linux系统来说,⽆论是中央处理器、内存、磁盘驱动器、键盘、⿏标,还是⽤户等都是⽂件,Linux系统管理的命令是它正常运⾏的核⼼。
以下列举166个最常⽤的命令,总有⼀个是你需要⽤到的,欢迎点亮到你的收藏夹。
1、线上查询及帮助命令(2个)man:查看命令帮助,更复杂的还有info,但不常⽤。
help:查看Linux内置命令的帮助,⽐如cd命令。
2、⽂件和⽬录操作命令ls:全拼list,功能是列出⽬录的内容及其内容属性信息。
cd:全拼change directory,功能是从当前⼯作⽬录切换到指定的⼯作⽬录。
cp:全拼copy,其功能为负值⽂件或⽬录。
find:查找的意思,⽤于查找⽬录及⽬录下的⽂件。
mkdir:全拼make directories,其功能是创建⽬录。
mv:全拼move,其功能是移动或重命名⽂件。
pwd:全拼print working directory,其功能是显⽰当前⼯作⽬录的绝对路径。
rename:⽤于重命名⽂件。
rm:全拼remove empty directories,其功能是删除⼀个或多个⽂件或⽬录。
rmdir:全拼remove empty directories,功能是删除空⽬录。
touch:创建新的空⽂件,改变已有⽂件的时间戳属性。
tree:功能是以树形结构显⽰⽬录下的内容。
basename:显⽰⽂件名或⽬录名。
dirname:显⽰⽂件或⽬录路径。
chattr:改变⽂件的扩展属性。
lsattr:查看⽂件扩展属性。
file:显⽰⽂件的类型。
md5sum:计算和校验⽂件的MD5值。
3、查看⽂件及内容处理命令cat:全拼concatenate,功能是⽤于连接多个⽂件并且打印到屏幕输出或重定向到指定⽂件中。
tac:是cat的反向拼写,因此命令的功能为反向显⽰⽂件内容。
more:分页显⽰⽂件内容。
1.创建一个目录文件/data。
解答:方法一:[root@localhost ~]# cd / #切换到根[root@localhost /]# mkdir data #在根目录下创建data目录方法二:使用绝对路径[root@localhost ~]# mkdir /data方法三:使用;分号连接多个命令,顺次执行[root@localhost ~]# cd /;mkdir data递归创建目录mkdir –p /tmp/new/ldh #在tmp目录下创建目录new,在new目录下创建ldh 目录ll /tmp/new #查看ldh目录的属性2.在/data下面创建一个名叫shizhi.txt的文件。
解答:[root@localhost ~]# touch /data/shizhi.txttouch:创建空文件如果文件已经存在更新时间戳touch后所跟文件名,可使用绝对路径或相对路径[root@localhost ~]# cd /data ; touch shizhi.txt3.为shizhi.txt文件增加内容为“I am studying linux.”。
解答:方法一:[root@localhost ~]# vim /data/shizhi.txt按i、a或o进入插入模式,输入文字I am studying linux.按Esc键退出插入模式,输入:wq,保存并退出。
[root@localhost ~]# cat /data/shizhi.txtI am studying linux.方法二:使用Here Document功能[root@localhost ~]# cat >>/data/shizhi.txt<<EOF #EOF是输入的结束标志> I am studying linux too. #键盘输入> EOF#键盘输入[root@localhost ~]# cat /data/shizhi.txtI am studying linux.I am studying linux too.方法三:使用输入重定向[root@localhost ~]# echo 'I am studying linux.' >/data/shizhi.txt[root@localhost ~]# echo 'I am studying linux.' >>/data/shizhi.txt> 输出重定向(箭头的朝向就是数据的流向),如果文件不存在,会创建文件,并将内容写入;如果文件存在,会覆盖源文件内的所有内容。
>> 追加重定向(箭头的朝向就是数据的流向),如果文件不存在,会创建文件,将内容写入;如果文件存在,在源文件的末尾添加内容。
4.把shizhi.txt文件拷贝到/tmp目录下。
解答:[root@localhost ~]# cp /data/shizhi.txt /tmp #tmp目录下复制得到文件shizhi.txtcp 复制文件或目录默认情况下不能拷贝目录参数:-r 递归使之能拷贝目录-a=all -a=-rdp -d 保存link属性-p保存文件属性练:将data目录复制到/tmp/new目录中cp –r /data /tmp/newll /tmp/new/data5.把/data目录移动到/root目录下。
解答:[root@localhost ~]# mv /data /rootmv 移动或重命名文件(目录)源文件和目标文件在同一个目录下,为改名源文件和目标文件不在同一个目录下,为剪切。
将/root/data目录名修改为/root/datanew[root@localhost ~]# mv ./data ./datanew #将data目录修改为datanew 6.进入/root目录下的datanew目录,删除shizhi.txt文件。
解答:方法一:rm命令使用比较危险,使用之前一定确认好要删除的内容不与系统文件相关。
[root@localhost ~]# cd /root/datanew/[root@localhost datanew]# pwd/root/datanew[root@localhost datanew]# rm shizhi.txtrm 删除文件或目录-f force 强制-r 递归(使之能删除目录)如果对相对路径和绝对路径非常肯定,也可以这样用:[root@localhost datanew]# touch shizhi.txt#当前目录下重新创建空文件[root@localhost datanew]# rm –rf ./datanew/shizhi.txt删除也可以使用find 结合rm方法二:[root@localhost datanew]# cd ~ #回到家目录[root@localhost ~] touch ./data/shizhi.txt[root@localhost ~]# find /root -name "shizhi.txt" |xargs rm -f7.在第6题的基础上,退出到上一级目录,删除data目录。
解答:.当前目录.. 上一级目录方法一:[root@localhost ~]# cd ./data #切换目录到/root/data[root@localhost data]# cd .. #cd与..之间需要敲一个空格[root@localhost ~]# pwd/root[root@localhost ~]# rm -r data #这种方法更常用方法二:rmdir 删除空目录[root@localhost ~]# rmdir data8.已知/root/test.txt文件的内容为hangzhoushizhixinxi要求打印test.txt内容时,不显示包含该hangzhou字符串。
解答:1.创建文件test.txt,将内容写入方法一:vi test.txt进入插入模式,输入文字,保存退出。
方法二:echo “hangzhou” >>test.txtecho “shizhi” >>test.txtecho “xinxi” >>test.txt[root@localhost ~]# cat test.txthangzhoushizhixinxi2.按要求过滤不需要显示的内容[root@localhost ~]# grep -v hangzhou test.txtshizhixinxigrep 过滤-v 排除非常重要的命令***** linux三剑客之老三方法二:[root@localhost ~]# tail -2 test.txt #显示尾部两行(本题的特殊性决定)shizhixinxi9.请使用一条命令完成创建目录/shizhi/text,即同时创建/shizhi目录与text目录。
解答:mkdir -p /shizhi/test目录的递归创建,注意-p选项。
10.已知ett.txt文件内容共有100行,现在要求只查看第20行到30行的内容,如何操作?解答:方法一:[root@localhost ~]# sed -n '20,30p' ett.txt2021222324252627282930方法二:[root@localhost ~]# head -30 ett.txt |tail -11head 默认查看文件头10行;-n 30 或将n省略,直接使用-30tail 默认查看文件尾10行;可使用tail -n 11或将n省略使用tail -11| 管道符11.用户的添加和删除新建用户test,为该添加密码,删除该用户12.权限的设置当前目录下,创建文件/test/a.txt,使属主有读写执行权限,属组,有读写,其他账户无权限touch ./test/a.txtchmod 760 /test/a.txt如何把/etc复制到/tmp下并保持原属性不变?cp -rp /etc /tmp (-p 保持文件本身属性不变)如何把/tmp/etc/man.conf移动到/tmp下并改名为test.conf设置所有人都有读写执行权限mv /tmp/etc/man.conf /tmp/test.confchmod 777 /tmp/test.conf修改/tmp/test.conf的属主为u1,属组为u2chown u1:u2 /tmp/test.conf13.编写一个脚本,要求使用键盘键入两个数字,求两个数字的加、减、乘、除运算。
解答:1.创建文件2.编写脚本3.运行脚本,并测试切换目录练习使用root用户登录1.在/root下创建working目录2.切换到/root/working目录3.切换到/usr/src目录下4.在usr目录下创建abc目录,长格式形式查看该目录属性5.切换到/usr/abc目录6.切回到root用户的家目录。