Linux基础操作(一),linux基础操作


 好烦,又要写摘要,主要是自己不会说些违心的话,又不愿意发恼骚,但还是记录一下自己目前的状态和心情吧。生活内容很丰富但实际很平淡,除了亲人带给我一些惊喜外,我嗅不到任何新鲜了。我不知道自己价值多大,被认可的价值有多大,但我不能发恼骚,毕竟我是一个有内涵的程序猿。于是我想,是我不够全面不够自信不够勇敢吧,改变不了环境就改变自己吧,万一有一天,红色的你出现在蓝色的沙滩上了呢。总有那一天。。。   一、分区 1、分区 1.1、主分区:最多4个(每个扇区512个字节,446个字节是记录信息,64个字节记录分区表示,每16个字节表示一个分区,最多表示4个分区,这是由硬盘结构所决定的。) 扩展分区:最多一个,主分区+扩展分区最多4个,不能写入数据,只能包含逻辑分区 逻辑分区:分区号必须从5开始,不能占主分区的号。

 

  1.2、表中的数据块:分区分成等大小的数据块,大小可以设置(默认4kb)。 1.3、表中的分区列表:记录文件的ID号、文件存储位置、修改时间、权限等信息。 2、Linux中一切皆文件 3、挂载点(相当于windows分配盘符) 3.1、linux中用目录作为盘符(部分目录必须和根目录在同一个分区系统才能正常使用) 为了方便管理,将/boot和/home分区单独构建分区进行表示。 二、Linux安装 1、开机启动按F2,到Boot列表项将光盘驱动调整到第一位启动,安装完成后再调整为硬盘第一位启动。   2、分区   三、Linux命令 1、权限表示 -rw-r--r-- 第一位(-(文件)、d(目录)、l(软链接文件)) 后九位每三位代表着(所有者、所属组、其他人)权限。r读、w写、x执行 2、目录处理命令 mkdir -p 递归创建 mkdir -m770 创建时设置了权限 touch 创建文件 cd -回到上次目录 rm -rf(-r删目录、-f强制) cp 目标文件 目的地 新文件名称(复制目录在cp后加-r) mv同cp,没有-r 3、文件处理命令 根目录下的bin和sbin,usr目录下的bin和sbin都是用来保存系统命令的。 bin任何权限的都可以用,sbin只有root用户才能使用。 /boot目录是启动目录 /dev硬件文件 /etc系统默认配置文件 /home普通用户目录 /root超级用户目录 /lib函数库 /media、/mnt、/misc作为外接存储设备的盘符 /proc、/sys保存的是内存的过载点 /tmp临时目录 /usr系统资源保存目录 /usr/bin/系统命令(普通用户) /usr/sbin/系统命令(超级用户) /var系统相关文档内容   / 根目录 ├── bin 存放用户二进制文件 ├── boot 存放内核引导配置文件 ├── dev 存放设备文件 ├── etc 存放系统配置文件 ├── home 用户主目录 ├── lib 动态共享库 ├── lost+found 文件系统恢复时的恢复文件 ├── media 可卸载存储介质挂载点 ├── mnt 文件系统临时挂载点 ├── opt 附加的应用程序包 ├── proc 系统内存的映射目录,提供内核与进程信息 ├── root root 用户主目录 ├── sbin 存放系统二进制文件 ├── srv 存放服务相关数据 ├── sys sys 虚拟文件系统挂载点 ├── tmp 存放临时文件 ├── usr 存放用户应用程序 └── var 存放邮件、系统日志等变化文件   4、链接命令ln ln -s 原文件 目标文件 硬链接 软链接 5、搜索功能 文件名搜索命令locate locate在/var/lib/mlocate后台数据库中进行搜索,updatedb来更新数据库即可 whereis ls命令的所在位置包括帮助文档-b只找可执行文件-m只找帮助文件 whoami当前用户名称 whatis ls which ls可以看到别名 echo $PATH 定义的是系统手术室命令的路径 find 搜索范围 搜索添加 find / -name install.log 搜索符合条件的文件 通配符 *任意内容 ?任意一个字符 []任意一个中括号内的字符 find / -name "*" find /root -iname install.log不区分大小写 find /root -user root所有者为root的文件 find /root -nouser没有所有者的文件(垃圾文件1.除了内核产生的在sys、proc中的文件2.外来文件) find /var/log (atime文件访问时间ctime改变文件属性mtime修改文件内容) (-10十天内10十天当天+10十天前) find . -size (-25k 25k +25k 2M) find . -inum 262422 -a and -o or find /etc -size +20k -a -size -50k -exec 命令(ls -lh、rm -rf) {} \; 结果再次处理-exec {} \; grep [选项] 字符串 文件名 -i 忽略大小写 -v 排除指定字符串 在文件中搜索指定的字符串 6、帮助命令 man -f passwd显示等级(相当于whereis,可查看配置、等级) man 5 passwd man -k passwd(相当于apropos找到与之相关命令的帮助) 命令 --help cd无可执行路径,说明是系统自带shell内部命令 7、压缩与解压缩 .zip在Windows和Linux上均可用 zip -r longz.zip longz() unzip longz.zip gzip -c 源文件 > abc.gz 保留源文件,压缩文件到abc.gz gzip -d 或者 gunzip 解压缩(目录加-r) bzip2不能压缩目录 bzip2 源文件(不保留源文件 加-k保留) bzip2 -d (解压缩,加-k保留压缩文件) bunzip2 (解压缩,加-k保留压缩文件) tar -cvf(-c打包-v显示过程-f指定打包后的文件名) tar -cvf longz.tar longz gzip longz.tar(longz.tar.gz) tar -cvf longz.tar longz bzip longz.tar(longz.tar.bz2) tar -xvf(-x解打包) tar -xvf longz.tar 直接tar成.tar.gz格式 tar -zcvf(-z压缩为.tar.gz格式) .tar.gz解压缩tar -zxvf 文件名 -C 指定位置 直接tar成.tar.bz2格式 tar -jcvf(-z压缩为.tar.bz2格式) .tar.bz2解压缩tar -jxvf 文件名 -C 指定位置 tar -ztvf(t测试)查看压缩包内的内容 8、关机和重启 shutdown开关机会保存和加载上下文,更安全。 shutdown (-r重启-h关机-c取消上次关机重启命令) 05:30 &(&后台执行) reboot重启 init(加下图数字) runlevel查询系统运行在哪个级别(显示上个级别和当前级别) /etc/.inittab中去设置开机后进入哪个级别(X一般代表图形界面)。 logout退出登录(重点) 9、挂载命令 mount(查看系统中已经挂载好的设备) mount -a(依据/etc/fstab的配置内容,自动挂载) mount [-t 文件系统(ext4光盘:iso9660)][-o 特殊选项(下图选项)] 设备文件名 挂载点 shell脚本必须以#!/bin/bash开头 chmod 755 hello.sh 赋予执行权限 mount -o remount,noexec /home/ 重新挂载不可执行 挂载光盘 建立挂载点 mkdir /mnt/cdrom/ 挂载光盘 mount -t iso9660 /dev/sr0 /mnt/cdrom/(/dev/cdrom -> sr0软链接) mount /dev/sr0 /mnt/cdrom   卸载光盘 umount 设备文件名或者挂载点(你的目前路径不能在光盘目录下)   挂载U盘 (电脑本身sda1 第二个盘sdb1 第三个sdc1) 查看系统当中已经识别的硬盘 fdisk -l 挂载 mount -t vfat /dev/sdb1 /mnt/usb/ 注意:Linux不支持ntfs文件系统的。(移动硬盘不允许直接挂载,通过ntfs-3g可以读入移动硬盘。linux一般都是通过网络输出。)   查看用户的登录信息 w who(当前用户) last(所有登录记录) lastlog(查看所有用户最后一次登录时间)   四、shell(C Shell Linux的标注shell为Bashecho) echo $SHELL 查看当前系统使用哪种shell(/etc/shells) echo [选项] [输出内容] (-e:支持反斜线控制的字符转换,如下图) echo -e "\e[1;31m 雅蓉好可爱 \e[0m" 脚本运行: 赋予执行权限,直接运行 chmod 755 hello.sh 通过Bash调用执行脚本 bash hello.h Bash的基本功能 命令的别名 查看别名 alias(查看所有别名) 设置别名 alias ls='ls --color=never' (重启失效)为了永久生效,写入配置文件中vi ~/.bashrc 即时生效source ~/.bashrc 删除别名 unalias(临时删除) echo $PATH 用冒号分割的一些环境变量目录 五、历史命令 history [选项] [历史命令保存文件](-c清空历史命令-w把缓存中的历史命令写入历史命令保存文件~/.bash_history) ls -alh 查看详细信息 历史数据默认保存1000条,可以在/etc/profile中进行修改 “!n”重复执行第n条历史命令 “!!”重复执行上条历史命令 “!字符串”重复执行最后一条以该字符串打头的命令   输出重定向 标准输出重定向:ifconfig > cs.log(>覆盖写入文件)(>>追加写入文件) 标准错误输出重定向:ifconfig 2> cs.log(2>覆盖写入文件)(2>>追加写入文件) ls &> /dev/null (&正确错误全都替换写入) cat xdy >> access.log 2>> error.log(正确错误分开保存)   输入重定向 wc [选项(-c统计字节数 -w统计单词数 -l统计行数)] [文件名] wc +选项+ 后输入内容后ctrl+D,统计你输入了多少行、多少个单词、多少个字符 wc [<] access.log 统计文件中的内容 wc << ddy 统计输入直到ddy直接的字符内容   六、各种符 6.1、管道符 多命令顺序执行 管道符 命令1|命令2 命令1的正确输出作为命令2的操作对象 ls -l /etc | more 用more的形式来查看ls了的结果 netstat -an查看Linux中所有的网络链接 netstat -an | grep ”ESTABLISHED“ | wc -l 看看服务器上链接了多少人(非常常见) 6.2、通配符 ls dzp* ls dzp? ls dzp[0-9][0-9] ls dzp[^0-9]*(^:逻辑非) 6.3、Bash中其他特殊符号   aa=123 echo $aa ($+变量名:得到变量值) 单引号中特殊符号没有特殊意义,全是字符串。双引号中“$”、“`”、“\”是例外,需要转义。 aa=`ls` (反引号先让ls执行,再把值赋给aa)<=> bb=$(date)(推荐的方式) #注释 \转义符,相当于单引号把内容括起来,使特殊符号失去意义。

相关内容