• 关于

    文件搜索命令-压缩解压命令

    的搜索结果

回答

一、方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip或tar.gz),进行解压,CMD->cd进入模块文件夹,执行:python setup.py install 三、 方法3:easy_install 方式 先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,之后就可以使用easy_install进行安装package(文件名称、资源的URL、.egg文件(python egg文件)来下载安装文件) easy_install packageName easy_install package.egg 四、 方法4:pip 网络搜索自动安装 先进行pip工具的安裝:easy_install pip(pip 可以通过easy_install 安裝,而且也会装到 Scripts 文件夹下D:Python2.7Libsite-packages) 安裝:pip install PackageName pip常用命令列出安装的packages:pip freeze安装特定版本的package:通过使用==, >=, <=, >, <来指定一个版本号$ pip install 'Markdown<2.0'$ pip install 'Markdown>2.0,<2.0.3'升级包到当前最新的版本,可以使用-U或者--upgrade:升级包pip install -U Markdown卸载包:pip uninstall Markdown查询包:pip search "Markdown" 五、 方法5:.whl文件pip 方式 下载对应模块.whl文件,在CMD->cd命令下进入到.whl文件所在目录,如果pip目录未添加到环境变量,最好把.whl文件放置到pip.exe所在目录(D:Python2.7Scripts)。 安装: pip install 包名.whl 六、方法6:.exe文件自定义安装 下载对应版本的exe安装文件,如numpy-1.9.2-win32-superpack-python2.7.exe和mlpy-3.5.0.win32-py2.7.exe 安装:打开自动安装即可

元芳啊 2019-12-02 01:04:33 0 浏览量 回答数 0

回答

系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统 init 0 关闭系统 telinit 0 关闭系统 shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启 reboot 重启 logout 注销 文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls [0-9] 显示包含数字的文件名和目录名 tree 显示文件和目录由根目录开始的树形结构 lstree 显示文件和目录由根目录开始的树形结构 mkdir dir1 创建一个叫做 'dir1' 的目录' mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 rm -f file1 删除一个叫做 'file1' 的文件' rmdir dir1 删除一个叫做 'dir1' 的目录' rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 rm -rf dir1 dir2 同时删除两个目录及它们的内容 mv dir1 new_dir 重命名/移动 一个目录 cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) file file1 outputs the mime type of the file as text iconv -l 列出已知的编码 iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) 文件搜索 find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 'user1' 的文件和目录 find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 find / -name *.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限 find / -xdev -name *.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 locate *.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径 挂载一个文件系统 mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出 fuser -km /mnt/hda2 当设备繁忙时强制卸载 umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 mount /dev/fd0 /mnt/floppy 挂载一个软盘 mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享 磁盘空间 df -h 显示已经挂载的分区列表 ls -lSr |more 以尺寸大小排列文件和目录 du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) 用户和群组 groupadd group_name 创建一个新用户组 groupdel group_name 删除一个用户组 groupmod -n new_group_name old_group_name 重命名一个用户组 useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 useradd user1 创建一个新用户 userdel -r user1 删除一个用户 ( '-r' 排除主目录) usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 passwd 修改口令 passwd user1 修改一个用户的口令 (只允许root执行) chage -E 2005-12-31 user1 设置用户口令的失效期限 pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组 newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组 文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消 ls -lh 显示权限 ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 chown user1 file1 改变一个文件的所有人属性 chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 chgrp group1 file1 改变文件的群组 chown user1:group1 file1 改变一个文件的所有人和群组属性 find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 chmod g-s /home/public 禁用一个目录的 SGID 位 chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 chmod o-t /home/public 禁用一个目录的 STIKY 位 文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消 chattr +a file1 只允许以追加方式读写文件 chattr +c file1 允许这个文件能被内核自动压缩/解压 chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 chattr +s file1 允许一个文件被安全地删除 chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件 lsattr 显示特殊的属性 打包和压缩文件 bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 bzip2 file1 压缩一个叫做 'file1' 的文件 gunzip file1.gz 解压一个叫做 'file1.gz'的文件 gzip file1 压缩一个叫做 'file1'的文件 gzip -9 file1 最大程度压缩 rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包 rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1' unrar x file1.rar 解压rar包 tar -cvf archive.tar file1 创建一个非压缩的 tarball tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 tar -tf archive.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包 tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包 zip file1.zip file1 创建一个zip格式的压缩包 zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式压缩包 RPM 包 - (Fedora, Redhat及类似系统) rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新一个rpm包但不改变其配置文件 rpm -F package.rpm 更新一个确定已经安装的rpm包 rpm -e package_name.rpm 删除一个rpm包 rpm -qa 显示系统中所有已经安装的rpm包 rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包 rpm -qi package_name 获取一个已安装包的特殊信息 rpm -qg "System Environment/Daemons" 显示一个组件的rpm包 rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表 rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表 rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 rpm -q package_name --whatprovides 显示一个rpm包所占的体积 rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l rpm -q package_name --changelog 显示一个rpm包的修改历史 rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表 rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书 rpm --checksig package.rpm 确认一个rpm包的完整性 rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 rpm -Va 检查系统中所有已安装的rpm包- 小心使用 rpm -Vp package.rpm 确认一个rpm包还未安装 rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件 rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包 rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包 YUM 软件包升级器 - (Fedora, RedHat及类似系统) yum install package_name 下载并安装一个rpm包 yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 yum update package_name.rpm 更新当前系统中所有安装的rpm包 yum update package_name 更新一个rpm包 yum remove package_name 删除一个rpm包 yum list 列出当前系统中安装的所有包 yum search package_name 在rpm仓库中搜寻软件包 yum clean packages 清理rpm缓存删除下载的包 yum clean headers 删除所有头文件 yum clean all 删除所有缓存的包和头文件 DEB 包 (Debian, Ubuntu 以及类似系统) dpkg -i package.deb 安装/更新一个 deb 包 dpkg -r package_name 从系统删除一个 deb 包 dpkg -l 显示系统中所有已经安装的 deb 包 dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包 dpkg -s package_name 获得已经安装在系统中一个特殊包的信息 dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表 dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表 dpkg -S /bin/ping 确认所给的文件由哪个deb包提供 APT 软件工具 (Debian, Ubuntu 以及类似系统) apt-get install package_name 安装/更新一个 deb 包 apt-cdrom install package_name 从光盘安装/更新一个 deb 包 apt-get update 升级列表中的软件包 apt-get upgrade 升级所有已安装的软件 apt-get remove package_name 从系统删除一个deb包 apt-get check 确认依赖的软件仓库正确 apt-get clean 从下载的软件包中清理缓存 apt-cache search searched-package 返回包含所要搜索字符串的软件包名称 查看文件内容 cat file1 从第一个字节开始正向查看文件的内容 tac file1 从最后一行开始反向查看一个文件的内容 more file1 查看一个长文件的内容 less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 head -2 file1 查看一个文件的前两行 tail -2 file1 查看一个文件的最后两行 tail -f /var/log/messages 实时查看被添加到一个文件中的内容 文本处理 cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中 cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中 grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug" grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇 grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行 grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug" sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2" sed '/^$/d' example.txt 从example.txt文件中删除所有空白行 sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行 echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容 sed -e '1d' result.txt 从文件example.txt 中排除第一行 sed -n '/stringa1/p' 查看只包含词汇 "string1"的行 sed -e 's/ $//' example.txt 删除每一行最后的空白字符 sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部 sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容 sed -n '5p;5q' example.txt 查看第5行 sed -e 's/00/0/g' example.txt 用单个零替换多个零 cat -n file1 标示文件的行数 cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行 echo a b c | awk '{print $1}' 查看一行第一栏 echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏 paste file1 file2 合并两个文件或两栏的内容 paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分 sort file1 file2 排序两个文件的内容 sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份) sort file1 file2 | uniq -u 删除交集,留下其他的行 sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件) comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容 comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分 字符设置和文件格式转换 dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS recode ..HTML < page.txt > page.html 将一个文本文件转换成html recode -l | more 显示所有允许的转换格式 文件系统分析 badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 初始化一个文件系统 mkfs /dev/hda1 在hda1分区创建一个文件系统 mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统 fdformat -n /dev/fd0 格式化一个软盘 mkswap /dev/hda3 创建一个swap文件系统 SWAP文件系统 mkswap /dev/hda3 创建一个swap文件系统 swapon /dev/hda3 启用一个新的swap文件系统 swapon /dev/hda2 /dev/hdb3 启用两个swap分区 备份 dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份 dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份 restore -if /tmp/home0.bak 还原一个交互式备份 rsync -rogpav --delete /home /tmp 同步两边的目录 rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录 rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录 dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作 dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件 tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作 ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容 ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录 tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接 find /home/user1 -name '.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 find /var/log -name '.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包 dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作 dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容 光盘 cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容 mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件 mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件 mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件 cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件 gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件 mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件 cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中 cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3) cdrecord --scanbus 扫描总线以识别scsi通道 dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD 网络 - (以太网和WIFI无线) ifconfig eth0 显示一个以太网卡的配置 ifup eth0 启用一个 'eth0' 网络设备 ifdown eth0 禁用一个 'eth0' 网络设备 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing) dhclient eth0 以dhcp模式启用 'eth0' route -n show routing table route add -net 0/0 gw IP_Gateway configura default gateway route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16' route del 0/0 gw IP_gateway remove static route echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing hostname show hostname of system host www.example.com lookup hostname to resolve name to ip address and viceversa nslookup www.example.com lookup hostname to resolve name to ip address and viceversa ip link show show link status of all interfaces mii-tool eth0 show link status of 'eth0' ethtool eth0 show statistics of network card 'eth0' netstat -tup show all active network connections and their PID netstat -tupl show all network services listening on the system and their PID tcpdump tcp port 80 show all HTTP traffic iwlist scan show wireless networks iwconfig eth1 show configuration of a wireless network card hostname show hostname host www.example.com lookup hostname to resolve name to ip address and viceversa nslookup www.example.com lookup hostname to resolve name to ip address and viceversa whois www.example.com lookup on Whois database JPS工具 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。 我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。 使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。 jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path. $> jps 23991 Jps 23789 BossMain 23651 Resin 比较常用的参数: -q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数 $> jps -q 28680 23789 23651 -m 输出传递给main 方法的参数,在嵌入式jvm上可能是null $> jps -m 28715 Jps -m 23789 BossMain 23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名 $> jps -l 28729 sun.tools.jps.Jps 23789 com.asiainfo.aimc.bossbi.BossMain 23651 com.caucho.server.resin.Resin -v 输出传递给JVM的参数 $> jps -v 23789 BossMain 28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m 23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl - Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl

问问小秘 2020-07-23 13:20:37 0 浏览量 回答数 0

问题

Linux系统常用命令大全

北京小顽童 2019-12-01 21:15:48 36201 浏览量 回答数 16

阿里云爆款特惠专场,精选爆款产品低至0.95折!

爆款ECS云服务器8.1元/月起,云数据库低至1.5折,限时抢购!

问题

消息服务的日志导出工具是什么?

轩墨 2019-12-01 22:10:45 1534 浏览量 回答数 0

问题

文件管理器-android源代码? 400 报错

爱吃鱼的程序员 2020-06-03 15:09:32 0 浏览量 回答数 1

回答

Ali-Tomcat 是 SAE 中的服务运行时可依赖的一个容器,它主要集成了服务的发布、订阅、调用链追踪等一系列的核心功能。无论是开发环境还是运行时,您均可将应用程序发布在该容器中。 Pandora 是一个轻量级的隔离容器,也就是 taobao-hsf.sar。它用来隔离应用和中间件的依赖,也用来隔离中间件之间的依赖。SAE 的 Pandora 中集成了服务发现、配置推送和调用链跟踪等各种中间件功能产品插件。您可以利用该插件对 EDAS 应用进行服务监控、治理、跟踪、分析等全方位运维管理。 本文介绍如何安装 Ali-Tomcat 和 Pandora,以及如何配置 Eclipse 和 IntelliJ IDEA 的开发环境。 安装 Ali-Tomcat 和 Pandora Ali-Tomcat 和 Pandora 为 SAE 中的服务运行时所依赖的容器,集成了服务的发布、订阅、调用链追踪等一系列心功能,应用程序须发布在该容器中运行。 注意 请使用 JDK 1.7及以上版本。 下载 Ali-Tomcat,保存并解压至相应的目录(如:d:\work\tomcat\)。 下载 Pandora 容器,保存并解压至 Ali-Tomcat 的 deploy 目录(d:\work\tomcat\deploy)下。 查看 Pandora 容器的目录结构。 Linux 系统中,在相应路径下执行 tree -L 2 deploy/ 命令查看目录结构。 d:\work\tomcat > tree -L 2 deploy/ deploy/ └── taobao-hsf.sar ├── META-INF ├── lib ├── log.properties ├── plugins ├── sharedlib └── version.properties Windows 中,直接进入相应路径进行查看。Pandora容器目录结构 如果您在安装和使用 Ali-Tomcat 和 Pandora 过程中遇到问题,请参见 Ali-Tomcat 问题和Pandora 问题 配置 Eclipse 开发环境 配置 Eclipse 需要下载 Tomcat4E 插件,并存放在安装 Ali-TomcatPandora 容器的保存路径中,完成配置后可以直接在 Eclipse 中发布、调试本地代码。 下载 Tomcat4E 插件 压缩包内容如下图所示。Tomcat4E 插件 打开 Eclipse,在菜单栏中选择Help > Install New Software 。 在 Install 对话框中 Work with 区域右侧单击 Add,且在弹出的 Add Repository 对话框中单击 Local,并在弹出的对话框中选中已下载并解压的 Tomcat4E 插件的目录(d:\work\tomcat4e\),单击 OK。 返回 Install 对话框,单击 Select All,并单击 Next。 后续步骤,请按界面提示操作。安装完成后,请重启 Eclipse,使 Tomcant4E 插件生效。 重启 Eclipse 后,在 Eclipse 菜单中选择 Run As > Run Configurations 。 选择左侧导航选项中的 AliTomcat Webapp,单击上方的 New launch configuration 图标。 在弹出的界面中,选择 AliTomcat页签,并在 taobao-hsf.sar Location 区域单击 Browse,选择本地的 Pandora 路径,如:d:\work\tomcat\deploy\taobao-hsf.sar。 单击 Apply 或 Run,完成设置。 一个工程只需配置一次,下次可直接启动。 查看工程运行的打印信息,如果出现下图 Pandora Container 的相关信息,即说明 Eclipse 开发环境配置成功。 edas-DG-pandora-success 配置 IntelliJ IDEA 开发环境 注意 目前仅支持 IDEA 商业版,社区版暂不支持。 运行 IntelliJ IDEA。 在菜单栏中选择 Run > Edit Configuration。 在 Run/Debug Configuration 页面左侧的导航栏中选择 Defaults > Tomcat Server > Local 。 配置 AliTomcat。 在右侧页面单击 Server 页签,并在 Application Server 区域单击 Configure。 在 Application Server 页面右上角单击 +,并在 Tomcat Server 对话框中设置 Tomcat Home 和 Tomcat base directory 路径,且单击 OK。 将 Tomcat Home 的路径设置为本地解压后的 Ali-Tomcat 路径,Tomcat base directory 可以自动使用该路径,无需再设置。 在 Application Server 区域的下拉菜单中,选择刚刚配置好的 Ali-Tomcat。 在 VM Options 区域的文本框中,设置 JVM 启动参数指向 Pandora 的路径。 列如:-Dpandora.location=d:\work\tomcat\deploy\taobao-hsf.sar 将d:\work\tomcat\deploy\taobao-hsf.sar 替换为在本地安装 Pandora 的实际路径。 单击 Apply 或 OK 完成配置。 介绍如何使用 SDK 快速开发 HSF 应用,完成服务注册与发现。 下载 Demo 工程 您可以按照本文的步骤一步步搭建工程,也可以直接下载本文对应的示例工程,或者使用 Git 下载: git clone https://github.com/aliyun/alibabacloud-microservice-demo.git。 该项目包含了众多示例工程,本文对应的示例工程位于 alibabacloud-microservice-demo/microservice-doc-demo/hsf-ali-tomcat,包含 itemcenter-api,itemcenter 和 detail 三个 Maven 工程文件夹。 itemcenter-api:提供接口定义 itemcenter:服务提供者 detail:消费者服务 说明 请使用 JDK 1.7 及以上版本。 定义服务接口 HSF 服务基于接口实现,当接口定义好之后,生产者将使用该接口实现具体的服务,消费者也基于此接口去订阅服务。 在 Demo 的 itemcenter-api 工程中,定义了一个服务接口 com.alibaba.edas.carshop.itemcenter.ItemService。 public interface ItemService { public Item getItemById(long id); public Item getItemByName(String name); } 该服务接口将提供两个方法:getItemById 与 getItemByName。 开发服务提供者 服务提供者将实现服务接口以提供具体服务。同时,如果使用了 Spring 框架,还需要在 xml 文件中配置服务属性。 说明 Demo 工程中的 itemcenter 文件夹为服务提供者的示例代码。 实现服务接口。 请参考 ItemServiceImpl.java 文件中的示例代码构建服务接口。 public class ItemServiceImpl implements ItemService { @Override public Item getItemById( long id ) { Item car = new Item(); car.setItemId( 1l ); car.setItemName( "Mercedes Benz" ); return car; } @Override public Item getItemByName( String name ) { Item car = new Item(); car.setItemId( 1l ); car.setItemName( "Mercedes Benz" ); return car; } } 服务提供者配置。 实现服务接口中实现了 com.alibaba.edas.carshop.itemcenter.ItemService,并在两个方法中返回了 Item 对象。代码开发完成之后,除了在 web.xml 中进行必要的常规配置,您还需要增加相应的 Maven 依赖,同时在 Spring 配置文件使用 标签注册并发布该服务。 在 pom.xml 中添加 Maven 依赖。 javax.servlet servlet-api 2.5 provided com.alibaba.edas.carshop itemcenter-api 1.0.0-SNAPSHOT org.springframework spring-web 2.5.6(及其以上版本) com.alibaba.edas edas-sdk 1.8.1 在 hsf-provider-beans.xml 文件中增加 Spring 关于 HSF 服务的配置。 interface=“com.alibaba.edas.carshop.itemcenter.ItemService" ref=“itemService" version=“1.0.0" 上面的示例为基本配置,您也可以根据您的实际需求,参考下面的生产者服务属性列表,增加其它配置。 属性 描述 interface 必须配置,类型为 [String],为服务对外提供的接口。 version 可选配置,类型为 [String],含义为服务的版本,默认为 1.0.0。 clientTimeout 该配置对接口中的所有方法生效,但是如果客户端通过 methodSpecials 属性对某方法配置了超时时间,则该方法的超时时间以客户端配置为准。其他方法不受影响,还是以服务端配置为准。 serializeType 可选配置,类型为 [String(hessian|java)],含义为序列化类型,默认为 hessian。 corePoolSize 单独针对这个服务设置核心线程池,从公用线程池中划分出来。 maxPoolSize 单独针对这个服务设置线程池,从公用线程池中划分出来。 enableTXC 开启分布式事务 GTS。 ref 必须配置,类型为 [ref],为需要发布为 HSF 服务的 Spring Bean ID。 methodSpecials 可选配置,用于为方法单独配置超时时间(单位 ms),这样接口中的方法可以采用不同的超时时间。该配置优先级高于上面的 clientTimeout 的超时配置,低于客户端的 methodSpecials 配置。 服务创建及发布存在以下限制: 名称 示例 限制大小 是否可调整 {服务名}:{版本号} com.alibaba.edas.testcase.api.TestCase:1.0.0 最大192字节 否 组名 HSF 最大32字节 否 单个 Pandora 应用实例发布的服务数 N/A 最大 800 个 可在应用基本信息页面单击应用设置部分右侧的设置,在下拉列表中选择JVM,在弹出的应用设置对话框中进入自定义 > 自定义参数,-DCC.pubCountMax=1200属性参数(该参数值可根据应用实际发布的服务数调整)。 服务提供者属性配置示例: <hsf:provider id="simpleService" interface="com.taobao.edas.service.SimpleService" ref="impl" version="1.0.1" clientTimeout="3000" enableTXC="true" serializeType="hessian"> hsf:methodSpecials <hsf:methodSpecial name="sum" timeout="2000" /> </hsf:methodSpecials> </hsf:provider> 开发服务消费者 消费者订阅服务从代码编写的角度分为两个部分。 Spring 的配置文件使用标签 hsf:consumer/ 定义好一个 Bean。 在使用的时候从 Spring 的 context 中将 Bean 取出来。 说明 Demo 工程中的 detail 文件夹为消费者服务的示例代码。 与生产者相同,消费者的服务属性配置分为 Maven 依赖配置与 Spring 的配置。 配置服务属性。 在 pom.xml 文件中添加 Maven 依赖。 javax.servlet servlet-api 2.5 provided com.alibaba.edas.carshop itemcenter-api 1.0.0-SNAPSHOT org.springframework spring-web 2.5.6(及其以上版本) com.alibaba.edas edas-sdk 1.8.1 在 hsf-consumer-beans.xml 文件中添加 Spring 关于 HSF 服务的配置。 增加消费者的定义,HSF 框架将根据该配置文件去服务中心订阅所需的服务。 id="item" interface="com.alibaba.edas.carshop.itemcenter.ItemService" version="1.0.0"> 服务消费者配置。 请参考 StartListener.java 文件中的示例进行。 public class StartListener implements ServletContextListener{ @Override public void contextInitialized( ServletContextEvent sce ) { ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( sce.getServletContext() ); // 根据 Spring 配置中的 Bean ID “item” 获取订阅到的服务 final ItemService itemService = ( ItemService ) ctx.getBean( "item" ); …… // 调用服务 ItemService 的 getItemById 方法 System.out.println( itemService.getItemById( 1111 ) ); // 调用服务 ItemService 的 getItemByName 方法 System.out.println( itemService.getItemByName( "myname is le" ) ); …… } } 上面的示例中为基本配置,您也可以根据您的实际需求,参考下面的服务属性列表,增加其它配置。 属性 描述 interface 必须配置,类型为 [String],为需要调用的服务的接口。 version 可选配置,类型为 [String],为需要调用的服务的版本,默认为1.0.0。 methodSpecials 可选配置,为方法单独配置超时时间(单位 ms)。这样接口中的方法可以采用不同的超时时间,该配置优先级高于服务端的超时配置。 target 主要用于单元测试环境和开发环境中,手动地指定服务提供端的地址。如果不想通过此方式,而是通过配置中心推送的目标服务地址信息来指定服务端地址,可以在消费者端指定 -Dhsf.run.mode=0。 connectionNum 可选配置,为支持设置连接到 server 连接数,默认为1。在小数据传输,要求低延迟的情况下设置多一些,会提升 TPS。 clientTimeout 客户端统一设置接口中所有方法的超时时间(单位 ms)。超时时间设置优先级由高到低是:客户端 methodSpecials,客户端接口级别,服务端 methodSpecials,服务端接口级别 。 asyncallMethods 可选配置,类型为 [List],设置调用此服务时需要采用异步调用的方法名列表以及异步调用的方式。默认为空集合,即所有方法都采用同步调用。 maxWaitTimeForCsAddress 配置该参数,目的是当服务进行订阅时,会在该参数指定时间内,阻塞线程等待地址推送,避免调用该服务时因为地址为空而出现地址找不到的情况。若超过该参数指定时间,地址还是没有推送,线程将不再等待,继续初始化后续内容。注意,在应用初始化时,需要调用某个服务时才使用该参数。如果不需要调用其它服务,请勿使用该参数,会延长启动时间。 消费者服务属性配置示例 <hsf:consumer id="service" interface="com.taobao.edas.service.SimpleService" version="1.1.0" clientTimeout="3000" target="10.1.6.57:12200?_TIMEOUT=1000" maxWaitTimeForCsAddress="5000"> hsf:methodSpecials <hsf:methodSpecial name="sum" timeout="2000" ></hsf:methodSpecial> </hsf:methodSpecials> </hsf:consumer> 本地运行服务 完成代码、接口开发和服务配置后,在 Eclipse 或 IDEA 中,可直接以 Ali-Tomcat 运行该服务(具体请参见安装及开发环境配置)。 在开发环境配置时,有一些额外 JVM 启动参数来改变 HSF 的行为,具体如下: 属性 描述 -Dhsf.server.port 指定 HSF 的启动服务绑定端口,默认值为 12200。 -Dhsf.serializer 指定 HSF 的序列化方式,默认值为 hessian。 -Dhsf.server.max.poolsize 指定 HSF 的服务端最大线程池大小,默认值为 720。 -Dhsf.server.min.poolsize 指定 HSF 的服务端最小线程池大小。默认值为 50。 -DHSF_SERVER_PUB_HOST 指定对外暴露的 IP,如果不配置,使用 -Dhsf.server.ip 的值。 -DHSF_SERVER_PUB_PORT 指定对外暴露的端口,该端口必须在本机被监听,并对外开放了访问授权,默认使用 -Dhsf.server.port 的配置,如果 -Dhsf.server.port 没有配置,默认使用12200。 本地查询 HSF 服务 在开发调试的过程中,如果您的服务是通过轻量级注册配置中心进行服务注册与发现,就可以通过 EDAS 控制台查询某个应用提供或调用的服务。 假设您在一台 IP 为 192.168.1.100 的机器上启动了 EDAS 配置中心。 进入 http://192.168.1.100:8080/ 在左侧菜单栏单击服务列表,输入服务名、服务组名或者 IP 地址进行搜索,查看对应的服务提供者以及服务调用者。 说明 配置中心启动之后默认选择第一块网卡地址做为服务发现的地址,如果开发者所在的机器有多块网卡的情况,可设置启动脚本中的 SERVER_IP 变量进行显式的地址绑定。 常见查询案例 提供者列表页 在搜索框中输入 IP 地址,单击搜索,即可查询该 IP 地址的物理机所提供的服务。 在搜索框中输入服务名或服务分组,即可查询提供该服务的 IP 地址。 调用者列表页 在搜索框中输入 IP 地址,单击搜索,即可查询该 IP 地址的物理机所调用的服务。 在搜索框中输入服务名或服务分组,即可查询调用该服务的 IP 地址。 部署到 SAE 本地使用轻量级配置及注册中心的应用可以直接部署到 SAE 中,无需做任何修改,注册中心会被自动替换为 SAE 上的注册中心。 正常打包出可供 EDAS-Container 运行的 WAR 包,需要添加如下的 Maven 打包插件 在 pom.xml 文件中添加以下打包插件的配置。 itemcenter org.apache.maven.plugins maven-compiler-plugin 3.1 执行 mvn clean package 将本地的程序打成 WAR 包。 应用运行时环境需要选择 EDAS-Container。 具体部署操作请参见应用部署概述。

1934890530796658 2020-03-27 12:56:58 0 浏览量 回答数 0

问题

我在阿里云服务器配置全过程搭建 WordPress 站点

System_Gov 2019-12-01 21:59:38 3535 浏览量 回答数 1

问题

Linux运维人员最常用150个命令汇总

福利达人 2019-12-01 21:47:08 3342 浏览量 回答数 1

问题

AliyunLinuxECS初级者安装把我卡了几个小时,不知所措

鼹鼠 2019-12-01 21:58:19 7926 浏览量 回答数 2

问题

从HTML中攫取你所需的信息:报错

kun坤 2020-06-08 11:01:51 3 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站