1、例如ls命令,下面的结果说明ls属于coreutils安装包
which ls
/bin/ls
rpm -qf /bin/ls
coreutils-5.97-34.el5_8.1
2、例如dig ,下面的结果说明你需要安装bind-utils才会有dig命令
which dig
/usr/bin/dig
rpm -qf /usr/bin/dig
bind-utils-9.3.6-25.P1.el5_11.6
3、每个命令都有个熟悉掌握过程,包含这个命令的安装包和下载链接
4、在包含某命令的主机测试一下,然后在没有此命令的主机安装相应包
② 如何查看linux命令源代码
用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls /bin/ls用命令搜索该软件所在包,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:
sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本号 sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件 patch -p0 < coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了
③ linux系统cat系统命令被删了怎么恢复
搜索这个cat所在的软件包是哪个, 然后安装这个软件包
比如在centos7上这样搜索: yum provides cat
结果如图:
结果
然后直接安装这3个其中一个就可以了: yum install coreutils -y
④ 如何在windows上运行使用linux下面的命令
让windows cmd也用上linux命令
使用Linux时间长了 还是对Linux强大的命令折服,虽说Windows中doc肯定也会有命令,但是感觉一个是熟悉程度不佳,另一个就是不够强大。所以想在Windows下使用Linux命令,进行一些问题处理
我遇到一个在Windows下想看下文件的格式,因为是别人从数据库中导出的大文件,上几个G的文件,打开就报内存不够,要不就是txt好久无响应。
有这个想到了Linux的more命令 由此想装个支持Linux命令的工具(当然另外的解决办法也有装一个Linux虚拟机,但是还需要再上传,不是好的解决办法)
先,下载Cygwin安装程序
安装:
1. 双击setup.exe
2. 按照安装提示“下一步”
3. 选择从“互联网”安装:
4. 选择安装的路径,一般是C:\Cygwin,选择本地临时目录,用于存放下载的软件;选择您连接互联网的方式,一般选“直接连接”就可以了。
5. 选择下载源.
6. 根据安装提示,选择需要安装的软件包,完成安装。
使用
1. 双击桌面的Cygwin图标,即可启动Cygwin里的Bash。
2. 或者,你可将C:/Cygwin/bin加到%PATH%当中,您就可以直接在cmd.exe里面使用Linux命令了,比如less, cat, wc , wget
3. 如果您有一个Bash脚本,您可以直接用C:/Cygwin/bin/bash.exe X:/scripts/Monitor.sh的形式调用。
/////////////////////////////////////////////////////
(gnuwin32首页:http://gnuwin32.sourceforge.net/)
1.先下载wget,下下来放到C:\WINDOWS下,就能像linux下一样直接用了
2.本地语言支持库LibIntl(以下软件包用wget下载比较好,迅雷等下载器对付http\ftp不稳定):
3.字符编码切换库
4.Linux核心命令库:
5.安装说明:
1)解压文件coreutils-5.3.0-bin.zip到C:\WINDOWS\coreutils-5.3.0-bin
2)解压文件libiconv-1.9.2-1-bin.zip,并且把目bin下的文件复制到C:\WINDOWS\coreutils-5.3.0-bin\bin下
3)解压文件libintl-0.14.4-bin.zip,并且把目bin下的文件复制到C:\WINDOWS\coreutils-5.3.0-bin\bin下
4)我的电脑上右键--属性--高级环境变量
在环境变量Path中增加最后一句";C:\WINDOWS\coreutils-5.3.0-bin\bin"(不包含引号,别把原来的删了)
装好后有以下命令可用了(“[”是什么命令,没见过。。):
[,basename,cat,chgrp,chmod,chown,chroot,cksum,comm,cp,csplit,cut,date,dd,
df,dir,dircolors,dirname,,echo,env,expand,expr,factor,false,fmt,fold,
gdate,gecho,ginstall,gln,gmkdir,grmdir,groupsgsort,head,hostid,hostname,id,
install,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mv,nice,
nl,nohup,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,rm,
rmdir,seq,setuidgid,sha1sum,shred,sleep,sort,split,stat,stty,su,sum,sync,
tac,tail,tee,test,touch,tr,true,tsort,tty,uname,unexpand,uniq,unlink,
uptime,users,vdir,wc,who,whoami,yes
6.缺少的命令:
1)
grep
wget -c http://downloads.sourceforge.net/gnuwin32/grep-2.5.4-bin.zip
解压后把bin下的三个文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin,可见egrep、fgrep也有了
现在grep还不能用,需要几个dll文件
wget -c http://gnuwin32.sourceforge.net/downlinks/pcre-bin-zip.php
解压后把bin下的几个文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin
2)
tree(gnuwin32.sourceforge.net的都要用wget下,我用其他下载器下载未遂)
wget -c http://downloads.sourceforge.net/gnuwin32/tree-1.5.2.2-bin.zip
解压后把bin下的tree.exe放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
3)
file
wget -c http://downloads.sourceforge.net/gnuwin32/file-5.03-bin.zip
解压把bin下的两个文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin
把share\misc目录放到C:\WINDOWS\coreutils-5.3.0-bin\share下
wget -c http://gnuwin32.sourceforge.net/downlinks/filetype-bin-zip.php
解压把bin下的两个文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin
然后下载file依赖的两个dll
wget -c http://gnuwin32.sourceforge.net/downlinks/regex-bin-zip.php
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
wget -c http://gnuwin32.sourceforge.net/downlinks/zlib-bin-zip.php
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
4)
find、locate和xargs
wget -c http://gnuwin32.sourceforge.net/downlinks/fintils-bin-zip.php
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下,它们依赖的dll在前面装libint跟libiconv时装好了
5)less
wget -c http://ncu.dl.sourceforge.net/sourceforge/gnuwin32/less-394-bin.zip
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
6)
gzip,bzip2,tar
wget -c http://gnuwin32.sourceforge.net/downlinks/gzip-bin-zip.php
wget -c http://gnuwin32.sourceforge.net/downlinks/bzip2-bin-zip.php
wget -c http://gnuwin32.sourceforge.net/downlinks/tar-bin-zip.php
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
7)
which
wget -c http://downloads.sourceforge.net/gnuwin32/which-2.20-bin.zip
解压,把bin下文件放到C:\WINDOWS\coreutils-5.3.0-bin\bin下
8)
make
wget -c http://gnuwin32.sourceforge.net/downlinks/make-bin-zip.php
⑤ linux的常用命令及技巧
一。 通用命令:
1. date :print or set the system date and time2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)3. passwd: print or set the system date and time (用passwd -h查看)4. logout, login: 登录shell的登录和注销命令5. pwd: print or set the system date and time6. more, less, head tail: 显示或部分显示文件内容.7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.8. 更改文件权限: chmod u+x...9. 删除非空目录:rm -fr dir10.拷贝目录: cp -R dir11. fg jobid :可以将一个后台进程放到前台。Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。job & 可以直接让job直接在后台运行。12. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)二 .ubuntu常用命令:
1. dpkg: package manager for Debian* 安装: dpkg -i package* 卸载: dpkg -r package* 卸载并删除配置文件: dpkg -P |--purge package* 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib...* 查看软件包安装内容 :dpkg -L package* 查看文件由哪个软件包提供: dpkg -S filename* 另外 dpkg还有 dselect和aptitude 两个frontend.2. apt* 安装: apt-get install packs* apt-get update : 更新源* apt-get upgrade: 升级系统。* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包* apt-get -f install : -f == --fix broken 修复依赖* apt-get autoremove: 自动删除无用的软件* apt-get remove packages :删除软件* apt-get remove package --purge 删除包并清除配置文件* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr [/n] [ ]|sudo xargs dpkg -P* 安装软件时候包的临时存放目录 : /var/cache/apt/archives* 清除该目录: apt-get clean* 清除该目录的旧版本的软件缓存: apt-get autoclean* 查询软件some的依赖包: apt-cache depends some* 查询软件some被哪些包依赖: apt-get rdepends some* 搜索软件: apt-cache search name|regexp* 查看软件包的作用:apt-cache show package* 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)* 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)* 如何将本地光盘加入安装源列表: apt-cdrom add3. 系统命令:* 查看内核版本: uname -a* 查看ubuntu 版本: cat /etc/issue* 查看网卡状态 : ethtool eth0* 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo(/proc下面的有很多系统信息)* 打印文件系统空间使用情况: df -h* 查看硬盘分区情况: fdisk -l* 产看文件大小: -h filename;* 查看目录大小: -hs dirname ; -h dirname是查看目录下所有文件的大小* 查看内存的使用: free -m|-g|-k* 查看进程: ps -e 或ps -aux -->显示用户* 杀掉进程: kill pid* 强制杀掉: killall -9 processname4. 网络相关: * 配置 ADSL: sudo pppoeconf* ADSL手工拨号: sudo pon dsl-provider* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot* 断开 ADSL: sudo poff* 根据IP查网卡地址: arping IP地址* 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0* 查看路由信息: netstat -r* 关闭网卡: sudo ifconfig eth0 down* 启用网卡: sudo ifconfig eth0 up* 添加一个服务: sudo update-rc.d 服务名 defaults 99* 删除一个服务: sudo update-rc.d 服务名 remove* 临时重启一个服务: /etc/init.d/服务名 restart* 临时关闭一个服务: /etc/init.d/服务名 stop* 临时启动一个服务: /etc/init.d/服务名 start* 控制台下显示中文: sudo apt-get install zhcon* 查找某个文件: whereis filename 或 find 目录 -name 文件名*通过ssh传输文件scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地5. 压缩:*解压缩 a.tar.gz: tar zxvf a.tar.gz*解压缩 a.tar.bz2: tar jxvf a.tar.bz2*压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb*压缩aaa bbb目录为xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:特殊 URI 地址* computer:/// - 全部挂载的设备和网络* network:/// - 浏览可用的网络* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录* smb:/// - 可用的 windows/samba 网络资源* x-nautilus-desktop:/// - 桌面项目和图标* file:/// - 本地文件* trash:/// - 本地回收站目录* ftp:// - FTP 文件夹* ssh:// - SSH 文件夹* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装* themes:/// - 系统主题文件夹* 显示隐藏文件: Ctrl+h* 显示地址栏: Ctrl+l* 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
7.补充部分:
* 查看本地所有的tpc,udp监听端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)* 通过man搜说相关命令: man -k keyword . eg: man -k user* 或者用 apropos* 统计文件所占用的实际磁盘空间: ( - estimate file space usage)* 统计文件中的字符,字节数: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)* 查看文件的内容: od -x/-c/.... (od - mp files in octal and other formats)我认为od最有用的就是文件的字节流了: od -t x1 filename查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)* 查找命令所在文件的位置: which od 输出: /usr/bin/od查看该文件由哪个包提供: dpkg -S /usr/bin/od 输出: coreutils: /usr/bin/od再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils然后 info coreutils 哈哈,认真学吧, 满世界都是命令!* 可以用man 命令产看某个命令的所有section 的解释: man -a tty然后用q,和next 转换到下一个section的解释* bash 的好用的快捷键:ctrl+a:光标移到行首。ctrl+b:光标左移一个字母ctrl+c:杀死当前进程。ctrl+d:退出当前 Shell。ctrl+e:光标移到行尾。ctrl+h:删除光标前一个字符,同 backspace 键相同。ctrl+k:清除光标后至行尾的内容。ctrl+l:清屏,相当于clear。ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的historyctrl+u: 清除光标前至行首间的所有内容。ctrl+w: 移除光标前的一个单词ctrl+t: 交换光标位置前的两个字符ctrl+y: 粘贴或者恢复上次的删除ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符ctrl+f: 光标右移ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。* 快速重启X服务: 同时按下: Alt + Ctrl + Backspace 三个键。* 打开运行窗口: 同时按下 Alt + F2 键。* 戴屏: a、全屏:直接按下 PrtScr 键。b、当前窗口:同时按下 Alt + PrtScr 键。c、延时戴屏:在 终端 或 运行窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。 8.ulimitulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)和可同时运行的最大进程数(max user processes)无效-a 列出所有当前资源极限-c 设置core文件的最大值.单位:blocks-d 设置一个进程的数据段的最大值.单位:kbytes-f Shell 创建文件的文件大小的最大值,单位:blocks-h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限-l 可以锁住的物理内存的最大值-m 可以使用的常驻内存的最大值,单位:kbytes-n 每个进程可以同时打开的最大文件数-p 设置管道的最大值,单位为block,1block=512bytes-s 指定堆栈的最大值:单位:kbytes-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者-t 指定每个进程所使用的秒数,单位:seconds-u 可以运行的最大并发进程数-v Shell可使用的最大的虚拟内存,单位:kbyteseg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)