《linux学习摘记》由会员分享,可在线阅读,更多相关《linux学习摘记(14页珍藏版)》请在金锄头文库上搜索。
1、Linux一、 sudo 命令sudo 是 linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具,如 halt,reboot,su等等。这样不仅减少了 root 用户的登陆 和管理时间,同样也提高了安全性。Sudo 不是对 shell 的一个代替,它是面向每个命令的。它的特性主要有这样几点: Sudo 能够限制用户只在某台主机上运行某些命令。 Sudo 提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。 Sudo 使用时间戳文件来执行类似的“检票”系统。当用户调用sudo 并且输入它的密码时,用户获得了一张存活期
2、为 5 分钟的票(这个值可以在编译的时候改变)。 Sudo 的配置文件是 sudoers 文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为 0440。二、 热键 Tab、Ctrl-c、Ctrl-d【Tab】:命令补全与文件补齐(连续按两次) 。【Tab】接在一串命令的第一个命令的后面,则为“命令补全“。【Tab】接在一串命令的第二个命令以后时,则为“文件补齐“。【Ctrl-c】:中断目前程序(正在运行的) 。【Ctrl-d】:通常代表键盘输入结束,它也可以替代 exit 的输入。三、 man 文档中出现在命令后面的数字所代表
3、的的意义代号 代表的内容1 用户在 shell 环境中可以操作的命令或可执行文件2 系统内核可调用的函数与工具等3 一些常用的函数与函数库,大部分是 C 的函数库4 设备文件的说明,通常在/dev 下的文件5 配置文件或者是某些文件的格式6 游戏7 惯例与协议,例如 linux 文件系统、网络协议等8 系统管理员可用的管理命令9 跟 kernel 有关的文件四、 在 man 里常用按键按键 进行的工作/string 向下查询 string 字符串?string 向上查询 string 字符串n,N 查询时,下一个,上一个q 结束退出(1)man f string : 查找与 string 有关
4、的帮助文档所在文件例如:man -f lsls (1) - list directory contents 此时可以输入:man 1 ls 进行查看(2)man -k string :在系统说明文件中,只要有 string 这个关键字就会被列出来。例如:man -k whatw (1) - Show who is logged on and what they are doing.w.procps (1) - Show who is logged on and what they are doing.whatis (1) - display manual page descriptions五、
5、 正确的关机相关命令(1) 数据同步写入磁盘:sync在关机前多使用,比较好。(2) shutdown用法:shutdown -t sec -arkhncfF 时间 警告信息-t sec :过几秒后关机-k :不要真的关机,只是发送警告信息出去-r :在将系统的服务停掉之后就重启-h :将系统服务停掉后,立即关机-n :不经过 init 程序,直接以 shutdown 的功能来关机-f :关机并开机后,强制略过 fsck 的磁盘检查-F :系统重启之后,强制进行 fcsk 的磁盘检查-c :取消已经在进行的 shutdown 命令的内容时间 :这是一定要加的参数。指定系统关机的时间举例:(1)
6、 Shutdown h now 立刻关机(2) Shutdown h 20:25 系统在今天的 20:25 分关机,如果过了,则隔天执行(3) Shutdown h +10 系统过十分钟后自动关机(4) Shutdown r now 系统立刻重启(5) Shutdown r +30 the system will reboot再过 30 分钟系统重启,并显示后面的消息给所有在线的用户(6) Shutdown k now the system will reboot 仅发出警告信件的参数,系统并不会关机(3) 重启、关机:reboot ,halt,poweroff(4) 切换执行等级:init总
7、共 7 种等级,知道下面四种即可Run level 0:关机Run level3:纯命令行模式Run level5:含有图形界面模式Run level6:重启Init 0:关机六、 文件类型(1) 【d】:目录(2) 【-】:普通文件(3) 【l】:连接文件(4) 【b】:设备文件里面的可供存储的接口设备,可查看/dev/sda(5) 【c】:设备文件里面的串行端口设备,例如:键盘、鼠标(一次性读取设备)(6) 【s 】:socket(套接字)文件(7) 【p】:管道(FIFO,pipe)文件,主要目的在解决多个程序同时访问一个文件所造成的错误问题。7、目录权限和文件权限的区别目录权限【r】
8、:可以读取目录的文件名列表【w】 :新建、删除、重命名、转移目录或文件【x】 :进入该目录文件权限【r】 :读取文件内容【w】 :修改文件内容,但不能删除文件【x】 :执行该文件8、FSH(目录配置标准)定义的目录可分享的 不可分享的/usr(软件放置处) /etc(配置文件)不变的/opt(第三方软件) /boot(开机与内核文件 )/var/email(用户邮件箱) /var/run(程序相关 ) 可变动的/var/spool/news(新闻组) /var/lock(程序相关 )/ (root,根目录 ):与开机系统有关/usr(UNIX software resource):与软件安装/
9、执行相关/var(variable):与系统运作过程有关FSH 建议:根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一分区内,保持跟目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。9、Linux 下 rename 命令(有问题)rename -v -n -f perlexpr files -v, verboseVerbose: print names of files successfully renamed.-n, no-actNo Action: show what files would have been renamed.-f, for
10、ceForce: overwrite existing files.简单的 rename 使用命令:字母的替换:rename “s/AA/aa/” * /把文件名中的 AA 替换成aa修改文件的后缀:rename “s/.html/.php/” * /把.html 后缀的改成 .php 后缀批量添加文件后缀:rename “s/$/.txt/” * /把所有的文件名都以 txt 结尾批量删除文件名:rename “s/.txt/” * /把所有以.txt 结尾的文件名的.txt 删掉批量修改大小写:rename tr/A-Z/a-z/ * / 把所有文件名中的大写改为小写10、文件内容查看命令
11、有 cat、tac(从最后几行显示)、nl(显示的时候输出行号)、more、less、head、tail、od(以二进制方式读取)。11、文件时间修改或创建新文件:touch(1)modification time(mtime)当该文件的内容修改时,就会更新这个时间。内容指的是文件的内容而不是文件的属性或权限。(2)staus time(ctime)当该文件的状态改变时,就会更新这个时间。例如属性和权限被改了。(3)access time(atime)当该文件的内容被取用时,就会更新这个读取时间。例如说:用cat 去查看某个文件时,就会更新。注:Ls 默认显示出文件的 mtimeTouch 最
12、常用为:(1)创建空文件 (2)将某个文件日期改为目前日期(mtime 和ctime)12、umask 命令取消某些权限的意思。例如 002,就是取消其它用户的写权限。13、命令与文件的查询(1)which (寻找“执行文件 ”)这个命令式根据 PATH 这个环境变量所规范的路径去查询 “执行文件”的文件名。(2)whereis (寻找特定文件)whereis options fileOptions:-f define search scope 规定文件搜索范围-b search only binaries 只找二进制文件-B define binaries lookup path 确定二进制
13、文件搜索路径-m search only manual paths 只找在说明文件 manual 路径下的文件-M define man lookup path -s search only sources path 只找源文件-S define sources lookup path-u search from unusual enties 搜索其他特殊文件(3)locate (依据(/var/lib/mlocate/mlocate 的内容,找出用户输入的文件名)用法: locate OPTION. PATTERN.在 mlocate 数据库中搜索条目.-b, -basename 匹配唯一的
14、路径名称的基本文件名-c, -count 只显示找到条目的号码-d, -database DBPATH 用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)-e, -existing 只显示当前存在的文件条目-L, -follow 当文件存在时跟随蔓延的符号链接 (默认)-i, -ignore-case 匹配模式时忽略大小写区别-l, -limit, -n LIMIT 限制为 LIMIT 项目的输出 (或 计数) -m, -mmap 忽略向后兼容性-P, -nofollow, -H 当检查文件时不跟随蔓延的符号链接-0, -null 输出时以 NUL 分
15、隔项目-S, -statistics 不搜索项目,显示有关每个已用数据库的统计信息-r, -regexp REGEXP 搜索基本正则表达式 REGEXP 来代替模式-regex 模式是扩展正则表达式 -s, -stdio 忽略向后兼容性-w, -wholename 匹配完整路径名 (默认)Locate 寻找数据是由以创建的数据库 /var/lib/mlocate/里面的数据所查到的,所以很快,但是有一定的限制,因为数据库的创建默认是每天执行一次,所以当你新建文件后查找该文件就找不到,因为必须更新数据库。更新 locate 数据库的方法非常简单,直接输入updatedb 就可以。(4)findFind 【path】 【option 】 【action】参数:(1)与时间相关的参数:有-atime、-ctime 与-mtime,下面以-mtime说明。-mtime n : n 为 数字,意义为在 n 天之前的“一天之内”被更改过的文件