常用Linux命令 Author:Lyn.ma@hotmail.com
命令行操作 shell介绍 常见三种Shell ---Bourne shell(sh) ---C shell(csh) ---Kom shell(ksh) ---Bourne Again shell(bash) 目前用的最多
文件或者目录操作命令 一、reboot命令 二、shutdown -k shutdown -r Time shutdown -h Time shutdown –c 三、ls –a 功能:显示所有文件,包括隐藏文件 ls –l 功能:显示所有文件详细信息 ls –F 功能:在列出来的文件名称后面加一符号,”*”,”/” 四、cd、mkdir、rmdir、cp、rm、mv、 五、cat 命令 功能:显示或者连接一般的ASCII文本文件 cat text cat file1 file2 cat file1 file2 >file3 六、more 命令 more file1 七、pwd 功能:打印当前的目录
用户及用户组管理命令 一、useradd 用法:useradd 用户名 常用组合: useradd 用户名 –g 组名 –G 组名 –d Home目录名 –p 密码 例:useradd oracle –g oinstall –G dba –d /Home/oracle – ora1234 二、userdel、groupadd、groupdel、password userdel 用户名、 groupadd 用户名、 groupdel 用户名 password、 password 用户名 三、su命令 功能:让普通用户拥有超级用户或者其他用户的权限 su –用户名 四、chmod命令 功能:用于改变文件或者目录的访问权限 例: chmod =rx text chmod u=rwx,g=r,o= text 五、chown 功能:用于更改文件或者目录的属主和属组 例: chown [用户:组] 文件 chown oracle:dba text
进程及任务管理命令 一、ps命令 ps ps –e 显示当前用户所有执行进程 ps –ef 全格式== ps –ef | grep oracle ps –el 长格式 二、top 动态显示进程 三、kill 终止进程 kill [-s 新号] 进程号 kill –l 显示信号列表 四、cron定时任务 cron -l
磁盘及文件系统管理命令 一、df命令 功能:显示目前磁盘剩余的磁盘空间,常用参数-k df –k 二、mount 和umount -a 把/etc/fstab文件列出的文件系统都挂在上 例:mount /mnt/cdrom 挂在光驱 mount /mnt/floppy 关在软驱 umount 命令用于卸载一个 文件系统 命令如下:umount [-f] directory 例:umount –f /mnt/cdrom 强行卸载
软件安装命令 一、tar命令 例: tar –czf oracle.tar.gz /u01/app/oracle /etc/oracle /home/oracle tar –tzf oracle.tar.gz tar –xzvf oracle.tar.gz 二、rpm命令(RPM: Redhat Package Manager) 1.安装 rpm –I tomcat.rpm 2.升级 rpm –U tomcat.rpm 3.查看已经安装的文件 rpm –qa |grep ‘tomcat’ rpm –qf filename rpm –qi packagename 4.删除已经安装的文件 rpm –e packagename
文件查看/编辑方法介绍 1.Cat命令 2.Vi命令 3.Head /Tail命令
文件查看/编辑方法介绍 1.Cat命令 功能:显示文件内容 类似Dos下的Type cat file1 cat file1 file2 cat – n file1 显示行号
文件查看/编辑方法介绍 2.vi命令 是Visual Interface的简称 功能:编辑文件、类似Dos上的Edit 可执行输入。删除,查找,替换,块操作 常用三种基本模式: 命令行模式: i ,a, o, c, u, d, r,s, dd, dx, w,Esc, :q,:q!, :qw, h,j,k,l 末行模式: “:”最后一行,可使用Esc,退格键,回到命令模式 使用方法: vi example.txt vi +n example.txt set number (或者nu)显示行号
文件查看/编辑方法介绍 2.1 Vi 光标移动操作 h j k l h – 命令前面输入数字n,可左移动n字符 j – 命令前面输入数字n,可下移动n字符 k – 命令前面输入数字n,可上移动n字符 l – 命令前面输入数字n,可右移动n字符 0 零 –光标移动到行首 $ - 光标移动到行尾 H 移动到首行 L 移动到尾行 Ctrl+G 显示当前的编辑状态 M 移动到中间行 :n 光标移动到文件的第n行 nG 移动到第n行 :$ 光标移动到文件的最后一行 w/W 右移下一个单词的词首 b/B右移本单词的词首 e/E右移本单词的词尾
文件查看/编辑方法介绍 2.2 Vi 文本插入操作 1.插入(Insert)命令 i和I 2.附加(append)命令 a和A 3.打开(Open)命令 o和O 2.3 Vi 文本修改操作 1.删除单个字符 x和X 2.删除多个字符 dd和D,d$,d0,dw 3.文本复制问题 yy p 4.取消上一命令 u U 5.文本重复问题 . 6.文本搜索与替换操作 / ?
文件查看/编辑方法介绍 3.Head 及tail 功能:显示文件头尾内容 例: head exeample.txt 显示头前十行 head –n 20 example.txt显示部前二十行 tail example.txt显示后十行 tail –n 20 example.txt显示尾部后二十行 head -f example.txt显示后十行,并在文件增加后自动显示新增的文件内容
网络配置操作 1.网络配置命令 ifconfig 、route 2.网络操作命令 netstat/nslookup/host/finger/Ping 3.常用网络配置文件介绍 4.常用网络操作方法 ftp/telnet/ r-系列命令
网络配置操作 1.网络配置命令 ifconfig 、route ifconfig eth0 192.168.0.1 设置第一块网卡的地址为192.168.0.1 ifconfig eht0 down/up 关闭/启用第一块网卡 ifconfig eth0 netmask 255.255.255.0 设置第一块网卡的子网掩码 ifconfig eth0 查看eth0 状态 或者ifconfig ifconfig –s 查看网络统计信息 route add –net 192.168.0.0 netmask 255.255.255.0 dev eth0 添加一条路由表 route add 0.0.0.0 gw 网关地址 route del 0.0.0.0 gw 网关地址
网络配置操作 2.网络操作命令 netstat/nslookup/host/finger/Ping netstat –a –c -I –n -r –t –u -v nslookup / Exit host –a 例:host baidu.com finger root ping –c count IPAddress
网络配置操作 3.常用网络配置文件介绍 /etc/sysconfig /network 网络配置文件 /etc/hosts IP地址和主机名映射 service network restart /etc/services 包含服务名和端口之间的映射 /etc/ resolv.conf DNS解析配置 /etc/ host.conf 配置名字解析器 /etc/ nsswitch.conf 配置名字解析器 比上个文件功能较多,是由Sun公司开发的 /etc/xinetd.conf inetd的扩展 /etc/ module.conf 配置了启动时加载的模块的参数信息 /etc/ sysconfig/network-scripts/ ifcfg-ethN 网卡配置文件信息
网络配置操作 4.常用网络操作方法 ftp/telnet/ r-系列命令 ftp IP地址或者主机名 ls cd lcd ascii binary(Bin) close hash get mget put mput quit ? ! telnet IP地址或者主机名 rlogin host rlogin host [command]
常用使用技巧 硬件时钟时间与系统时钟时间的同步 /sbin/hwclock --show /sbin/hwclock --hctosys /sbin/hwclock --systochc 2. 系统信息及运行状态监控 /proc/cpuinfo meminfo modules mounts df –k 以千字节KB为单位显示各分区的信息 df –a 显示所有分区,包括大小为0的分区 df –T 显示分区类型Ext2或者Ext3等 du –b /home 以字节为单位显示/home文件夹各文件夹的大小 du -ks /home 以千字节为单位显示/home文件夹的大小 top –d 1 启动Top每隔一秒刷新信息 空格,M,N,P ,c,? ,q
常用使用技巧 2. 系统信息及运行状态监控 iostat –c 显示CPU使用的情况统计信息 iostat –d 显示设备分区使用的情况统计信息 iostat –d 2 显示设备分区使用的情况统计信息,2秒刷新一次 3.打包/压缩工具tar tar –czf tmp.tar.gz /tmp 压缩/tmp目录 tar –xzf tmp.tar.gz –C /home 解压至/home目录下面 tar –t tmp.tar.gz 查看gz包文件信息 4.文件及文件内容的查找 find . –name 1.txt 文件查找在当前目录 find /tmp –name 1.txt 文件查找 grep cams test.txt 内容查找 grep –r cams /cams/test.txt 在目录及其子目录下所有文件查找 ps –ef |grep ora
常用使用技巧 5.系统服务及其配置 所有服务的程序脚本都可以在 /etc/ rc.d / init.d中找到 service cams stop/start 启动/停止服务 添加服务: 1》将其脚本拷贝到/etc/ rc.d / init.d文件下下面,且其状态为可执行 2》使用命令chkconfig将其添加至服务列表中 chkconfig –add camsd 删除服务: 1》chkconfig –del camsd 设置服务自动运行: chkconfig –level 35 camsd on chkconfig –level 35 camsd off chkconfig –list camsd 查看服务的启动状态信息
Apt-get命令介绍 用法: apt-get [选项] 命令 apt-get [选项] install|remove pkg1 [pkg2 ...] apt-get [选项] source pkg1 [pkg2 ...] apt-get 是一个下载安装软件包的简单命令行接口。 最常用的命令是update(更新)和install(安装)。 命令: update - 重新获取软件包列表 upgrade - 进行更新 install - 安装新的软件包(pkg 为 libc6 而不是 libc6.deb) remove - 移除软件包 autoremove - 自动移除全部不使用的软件包 purge - 移除软件包和配置文件 source - 下载源码档案 build-dep - 为源码包配置编译依赖 dist-upgrade - 发行版升级, 参见 apt-get(8) dselect-upgrade - 依照 dselect 的选择更新 clean - 清除下载的归档文件 autoclean - 清除旧的的已下载的归档文件 check - 检验是否有损坏的依赖 选项: -h 本帮助文件。 -q 输出到日志 - 无进展指示 -qq 不输出信息,错误除外 -d 仅下载 - 不安装或解压归档文件 -s 不实际安装。模拟执行命令 -y 假定对所有的询问选是,不提示 -f 尝试修正系统依赖损坏处 -m 如果归档无法定位,尝试继续 -u 同时显示更新软件包的列表 -b 获取源码包后编译 -V 显示详细的版本号 -c=? 阅读此配置文件 -o=? 设置自定的配置选项,如 -o dir::cache=/tmp
GCC 编译 gcc –help man gcc gcc –p –g test.c 为文件test.c建立剖析profile信息并且把调试信息加入到可执行文件里 gcc –pg test.c 只为gprof命令建立剖析信息 gcc test.c 产生a.out文件 gcc -o count conut.c 指定编译成名叫count的可执行文件 -c 此命令仅把源代码编译成目标代码而跳过汇编和连接的步骤 -S 此命令在产生汇编文件后停止编译,缺省扩展名是.s -E 指示编译器仅对输入文件进行预处理,并且预处理的输出被送到标准输出而不是存储在文件里 -o -O2 对代码进行优化,前者执行变快,后者代码变小,编译速度慢些,但是执行效率快些 -g 告诉GCC产生能被GNU调试器使用的调试信息以便调试你的程序
GDB 调试 gdb –h file 装入调试程序 Kill 终止正在调试的程序 List 列出代码一部分 Next 执行下一代码,不进入函数内部 Step执行下一代码,进入函数内部 Run 执行当前被调试的程序,先run在watch Quit 终止gdb Watch 监视一变量的值而不管他何时被改变 watch Mastering Print 打印表达式的值 Break 设置断点,挂起程序 break 26 Make 不退出gdb程序,就可以重新编译生成可执行文件 Shell 不退出gdb程序,就可以执行UNIX shell
GDB 调试 gdb –h 如果产生了core文件,可以用gdb hello core来查看程序何处出错 gcc –gp -o test test.c Gprof 文件名 =>分析函数被调用次数和函数执行的所占时间的百分比 对大文件由于剖析数据很大,最好将其输出定向到一文件里面
Makefile文件 依赖:Target components 依赖目标/依赖对象,依赖目标发生改变,执行规则 规则:TAB rule 简化 Main: main.o file1.o file2.o Gcc –o $@ $^ 目标文件,所有依赖文件 Main.o: main.c file1.h file2.h Gcc –c $< 第一个依赖文件 File1.o: file1.c file1.h Gcc –c $< File2.o: file2.c file1.h Main: main.o file1.o file2.o Gcc –o main main.o file1.o ifle2.o Main.o: main.c file1.h file2.h Gcc –c main.c File1.o: file1.c file1.h Gcc –c file1.c File2.o: file2.c file1.h Gcc –c file2.c 简化 简化 Main: main.o file1.o file2.o Gcc –o $@ $^ 目标文件,所有依赖文件 ..c.o: 所有的o文件都是依赖于c文件 Gcc –c $<
Man 2 write Man 3 write