Learning Linux Learning Linux Linux文件名 /bin 普通用户有权限使用的二进制可执行命令 cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /sbin 主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2f/sck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、runlevel、shutdown等。 /boot 存放引导加载器(bootstrap loader)使用的文件 /etc etc.是法语词et cetra 的缩写,相当于英语的 and so on. 存放系统管理和配置文件,其中包括了用户信息文件,系统初始化文件 /opt 用户级的程序目录,可以理解为,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 /usr 系统级的目录,可以理解为,理解为。 /usr/local 用户级的程序目录,可以理解为。用户自己编译的软件默认会安装到这个目录下。 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库根文件系统 /usr/bin 主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb、wget等。 /usr/sbin 超级用户使用的可执行文件,放置一些网路管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等 /home 存放所有用户文件的根目录 /lib 存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。 /tmp 用于存放各种临时文件,是公用的临时文件存储点。 /dev 用于存放设备文件。/bus, /cpu, /disk,比如,用户可以通过访问/dev/mouse/访问鼠标的输入,就像访问其他文件一样 /media 放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此 /proc proc是一个伪文件系统,提供了<u>访问内核数据</u>的方法,一般挂载在“/proc”目录,其中的大部分内容是只读的 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来系统信息。 /var 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。 /srv 主要用来存储本机或本服务器提供的服务和数据 Linux文件命令 dmesg 用来显示开机信息 开机信息保存在/var/log/dmesg dd — disk dump 复制文件并对原文件的内容进行转换和格式化处理 df — disk free wc -> word count 用于查看文件的行数,单词数和字符数 X : 行数 Y: 单词数 Z: 字节数 filename: 文件名 find 在当前目录下,查找文件为suchen的文件。 找出当前目录下,目录名是tmp的目录 查找特定权限的文件 查找指定用户的文件 查找特定时间修改的的文件 查找特定大小的 ln 软链接:新建一个node指向原来node, 是一类特殊的文件,这个文件包含了另一个文件或目录的路径名。在对符号文件进程进行操作时,系统会自动把该操作转换为对源文件的操作。但删除文件时仅仅删除链接文件。 硬链接:新建一个node指向原来node的block,和原node公共一个inode号,一个文件的另一个文件名。引用的是文件在文件系统中的物理索引(node)。当删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。 sort 排序 unip 去重 tr 替换或删除字符 mkdir diff 比较文件区别 !表示由差异的行 + 表示第二个文件比第一个文件多出的行 who 查看当前所有登录用户的信息 paste apt apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。 增加了进度条交互。 apt-cache search packagename 搜索包 apt-cache show packagename 包的相关信息,如说明、大小、版本等 apt-get install packagename 安装包 apt-get install packagename –reinstall 重新安装包 apt-get -f install 修复安装”-f = –fix-missing” apt-get remove packagename 删除包 apt-get remove packagename –purge 删除包,包括删除配置文件等 apt-get update 更新源 apt-get upgrade 更新已安装的包 apt-get source packagename 下载该包的源代码 apt-get clean 清理无用的包 apt-get autoclean 清理无用的包 apt-get check 检查是否有损坏的依赖 uname 查看系统信息 Linux网络命令 ping 判断网络的的联通和延迟,得到域名解析 icmp_seq icmp包顺序 ttl 生存周期 time 相应时间 wlp3s0f0 无线网卡 enp2s0f1 有线网卡 traceroute/mtr 第一跳 为网关 * 表示丢包 mtr是traceroute进化版,IDE host 简单的域名解析 nslookup和dig 用于域名解析 lspci 查看所有pci设备信息,网卡硬件也是采用pci总线 lsusb 查看所有USB设备 ifconfig interface configuration 查看接口信息 lo 环回接口 wlp3s0f0 无线网卡 enp2s0f1 有线网卡 ifup,ifdown 启用关闭接口 ip route 查看路由表,本机只是一个网络中端,第一行为网关 route netstat 用于显示各种网络相关信息 socket又称为嵌套子:unix,udp,tcp 应用程序通常通过”套接字”向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 -t 列出tcp协议的链接 -u 列出udp协议的链接 -n 禁用域名解析功能 -l 选项列出正在监听的套接字 -p 打印进程信息 (sudo) -r 打印内核路由信息 -i 打印网络接口信息 ifup/down 启用或禁用特定的网络接口 网络故障排查 网络故障排查遵循从<u>底层到高层, 从自身到外部</u>的流程进行。 先查看网络配置信息是否正确 IP地址 子网掩码 网管 DNS 查看到达网关是否联通 ping网关IP地址 查看DNS解析是否正常 host www.baidu.com top top命令经常用来监控linux的系统状况,比如cpu、内存的使用 第一行:top – 当前系统时间 up 系统运行了多长时间 , 几个用户登录 users, load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 第二行:进程数 第三行:cpu使用情况:us用户,sy内核,id空闲,wa IO等待,hi硬中断,si软中断 第四行:内存状态 第五行:交换分区 第七行:PID:进程id,PR:进程优先级,S:进程状态 R=running, s=sleeping, t=stopped, z=zombie 输入f,查看缩写的全称 SSH SSH为建立在应用层和传输层基础上的安全协议 sshd服务使用SSH协议进行远程控制,或在计算机之间传送文件。而实现此功能的telnet(远程桌面) 是不安全的,使用明文传送密码 ssh 利用ssh运行命令 或 配置文件 /etc/ssh/目录下 ssh_config 客户端配置文件 sshd_config 服务器端配置文件 一般配置服务端的配置文件ssh_config 启动服务 命令行 init.d 启动脚本 /etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。 配置开机自动启动 scp 把当前一个文件copy到远程另外一台主机上 把文件从远程主机copy到当前系统 keygen 硬盘到文件系统 硬盘接口分类 SATA (Serial Advanced Technology Attachment) SAS (Serial Attached SCSI) SCSI (Small Computer System Interface) IDE (Integrated Drive Electronics) USB Linux中,IDE硬盘(hd)最多只能有59个逻辑分区(5-63),SATA接口硬盘最多只能有11个逻辑分区(5-15) 每种操作系统所配置的文件属性权限不同,为了存放这些文件所需的数据,需要将硬盘进行格式化,以成为操作系统能够利用的文件系统格式。 不同操作系统使用的常见系统格式 Windows: FAT(Win98以前), FAT32, NTFS(Win2000之后) Linux: Ext2, Ext3, Ext4, XFS Mac: HFS 各种接口的硬盘在linux中的文件命名 SCSI,SATA,USB等接口文件的文件名: IDE接口的文件名: hda表示IDE主硬盘,hdb表示IDE从硬盘 打印机文件名: lp Linux文件系统将权限与属性放置在一个inode中 ( 一个文件只有一个inode, 同时记录文件数据所存放的data block号码),实际数据放在block区中 (一个文件可=可以有多个block)。另外,还有一个superblock记录整个文件系统的整体信息,包括inode和block总量,使用量和剩余量。 与linux的ext2相比,FAT文件系统没有inode,只有储存文件数据的block。前面一个block存放下一个block的号码,现在这种FAT文件系统主要用在U盘上 Win7系统支持NTFS和winFS文件系统,而win8是全新的ReFS系统 etx2是非日志文件系统,etx3是日志文件系统 在Linux中输入输出设备被看做特殊文件,称为设备文件。设备文件分为两类,字符设备文件(c)和块设备文件(b)。字符设备文件允许设备传送任意大小的数据,如终端,打印机,鼠标等。块设备文件允许设备传送数据以数据块为单位,如硬盘,光盘,usb 计算机硬盘的分区主要分为基本分区和扩展分区,基本分区和扩展分区之和不能大于四个,基本分区可以马上被使用但不能再分区。扩展分区必须在进行分区后才能使用,由扩展分区再分下去就是逻辑分区,逻辑分区没有数量限制。 fdisk fdisk命令是磁盘及分区管理工具,在硬盘设备中创建、删除、更改分区等操作通过fdisk命令 -l: 该选项后没不跟设备名会直接列出所有磁盘设备以及分区表,加上设备名会列出该设备额分区表 不加-l会对该磁盘进行分区 mkfs 将磁盘分区后,使用mkfs命令可对其进行格式化 fsck 当系统非正常关机时,或其他原因破坏了文件系统,需要对文件系统进行恢复,否则文件系统将不能正常引导 df 检查文件系统的磁盘空间占用情况。可以利用该命令来磁盘占用了多少空间,目前还剩下多少空间 du 查看目录下所有文件所占空间大小,默认以block数为单位 基础命令 date 显示或设置此时系统时间 cal cal [month] /[year] 在屏幕上显示日历信息 su root 登录root 账号 cat cat a |head -n 3000|tail -n +1000 >> b 将文件a的1000行到3000行之间内容添加到b的后面 cat a |tail -n 1000 >> b 将文件a的最后1000行添加到b后面 cat a |head -n 1000 >> b 将文件a的前1000行添加到b后面 cat a |tail -n +1000 >> b 将文件a的1000行以后的添加到b后面 cat > b 将接下来键盘输入的内容覆盖b set set -e 当命令以非零状态退出,则退出shell set -o noclobber 避免重定向重写已存在的文件 +o 禁用noclobber功能 uniq 去掉重复行 diff 找不同 grep -i 忽略大小写 -v 显示不包含字符串的文本行 -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行 -B 5 foo file 显示foo及前5 -A 5 foo file 显示foo及后5行 -l 只显示文件名 history killall pkill watch Linux GUI X Windows是一个窗口系统,为GUI界面提供最基本的支持,而具体的窗口形式、窗口行为以及更多的图形化支持,则需要借助于窗口管理器和桌面环境。 现在常用的桌面环境为GNOME(基于GTK图形库)和KDE(基于Qt图形库),可以从中简便地管理和使用应用程序、文件和系统资源 系统启动过程 加载BIOS 加电自检,根据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入主引导记录即MBR(其中存放了预启动信息、分区信息),被调到物理内存的内容是Boot Loader,具体到用户PC机就是LILO或GRUB。 加载Boot Loader Boot Loader是在操作系统内核运行之前运行的一段小朋友,通过这段小程序,可以初始化硬件设备,建立内存空间的映射图。 加载内核映像 根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩。 执行init进程 内核被加载后,第一个运行的程序便是 执行程序,进入登录状态 系统为用户建立登录接口,等待用户输入username和password GRUB介绍 GRUB (GRand Unified Bootloader)是一个将引导装载程序 (Boot Loader) 安装到主引导记录(MBR)的程序。这使得用户能够对操作系统进行选择,在内核引导时可传递指令给内核,或是在内核引导前确定一些系统参数 Linux关机 shutdown shutdown 16:50 shutdown +5 “Byebye” 五分钟后关机打印拜拜 halt 相当于shutdown -h 立即关机 halt执行时,kill掉所有应用程序,然后调用sync(将所有内存信息通过文件系统写入硬盘) reboot 和halt类似的重启程序 相当与shutdown -r init init进程是所欲进程的祖先,其进程号始终wenyi 日志管理 Linux系统有三个主要的日志子系统 连接时间日志子系统 由多个程序执行,把记录写入到和中,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪用户在何时登录到系统中。 进程统计日志子系统 由系统内核执行,当一个进程终止时,为每个进程向进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计 错误日志子系统 由syslogd (8) 执行。各种系统守护进程、用户程序和内核通过syslogd(8) 向文件报告值得注意的事件。 /var/log/dmesg 文件保存内核启动的信息,可以看到内核和各种驱动程序的加载,加载硬件驱动时系统也会显示出相应的信息。 /var/log/messages 文件是Linux系统中最全面的log文件,记录了内核和应用程序发生错误时的信息和系统运行的一般信息。 使用swatch文件分析日志 alias 给命令取别名 alias cdir=’cd /home/user/dir’ gcc 预处理阶段 gcc -E hello.c -o hello.i 编译阶段 gcc -S hello.i -o hello.s 汇编阶段 gcc -c hello.s -o hello.o 链接阶段 gcc hello.c -o hello 将两个文件编译链接成可执行文件 gcc -o main mani.o stack.o 使用静态链接库 生成.o文件 gcc -c stack.c 用ar命令归档,生成文件libstack.a ar -rc libstack.a stack.o 编译源文件main.c为目标文件main.o,注意要把静态库头文件的路径加到-I参数里面 gcc -I /includepath/ -o main.o -c main.c 生成可执行文件,注意把静态链接库文件的路径加到-L参数里面,把库文件名(去掉lib和.a)加到-L参数里面 gcc -o main -L /libpath. main.o -L stack -w 禁止所有警告信息 -Wall 允许发出gcc提供的所有有用的报警信息 -Werror 视警告为错误,出现任何警告即放弃编译 -g 指示编译程序在目标代码中加入供调试程序gdb使用的附加 git 初始化仓库 将文件加入到仓库的暂存区 将文件提交到当前分支 回归到以前版本 删除文件 上传到github 新的分支 上个语句等同于 查看当前的分支 我们把分支的工作成果合并到分支上 删除一个分支 上传代码 odps od -c file 查看文件的实际内容 fator 分解因数 factor 999 fortune 打印一句名言 fortune-zh打印一首诗 tmux ctrl+b C: create new window ctrl+b , : rename the window ctrl+b p: go previous window ctrl+b n: go next window ctrl+b t: show time ctrl+b w: list all window ctrl+b %: split the window vertically ctrl+b “: split the window horizentally ctrl+b : input command ctrl+b d : detach session 不退出,在后台继续运行 ctrl+b &: exit session ctrl+b ‘: tmux new -s name 创建一个会话,命名为name tmux attach -t name 重新连接上被分离的会话 tmux ls 列出所有创建的会话 Shell 有条件执行 &&: 连接两个命令, 前一命令执行成功后才能执行后一命令 ||: 前一命令执行不成功才执行后一命令 引号(字符串) 双引号对字符串中出现的$,”,’,进行替换 单引号不进行替换,将字符串作为普通字符输出 反引号会将字符串作为命令执行 $#: 实际位置参数个数
@: 命令行所有参数组成的字符串 $!: 上一个后台命令对应的进程号 $$: 当前进程号 $? 上一命令的退出状态 read LINE 逐行输出文件中代码 printf 数组 所有素 数组长度 判断 是否存在且为字符设备 数值的大于等于 字符串的等于 逻辑 判断目录
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/51276.html