怎么查看linux文件 查看文件内容的命令: cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行 tail 只显示最后几行 nl 类似于cat -n,显示时输出行号 tailf 类似于tail -f 1.cat 与 tac cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。 cat语法:cat [-n] 文件名 (-n : 显示时,连行号一起输出) tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。 tac语法:tac 文件名。 2.more和less(常用) more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more more的语法:more 文件名 Enter 向下n行,需要定义,默认为1行; Ctrl f 向下滚动一屏; 空格键 向下滚动一屏; Ctrl b 返回上一屏; = 输出当前行的行号; :f 输出文件名和当前行的行号; v 调用vi编辑器; ! 命令 调用Shell,并执行命令; q 退出more less的功能和more相似,但是使用more无法向前翻页,只能向后翻。 less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。 less的语法:less 文件名 less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做: [root@redhat etc]# less passwd 然后输入: /weblogic 回车 此时如果有weblogic字符串,linux会把该字符已高亮方式显示。 退出查看页面,请按“q”键。 3.head和tail head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。head的功能是显示文件的前几行内容 head的语法:head [n number] 文件名 (number 显示行数) tail的功能恰好和head相反,只显示最后几行内容 tail的语法:tail [-n number] 文件名 4.nl nl的功能和cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来 nl的语法:nl 文件名 5.tailf tailf命令几乎等同于tail -f,严格说来应该与tail –follow=name更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。 与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件。 tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问嘛。 tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令。 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!
建议先用sudo su命令切换到root账号,否则之后可能无权限操作 /opt 目录。 一、下载和解压 先去官网下载压缩包jdk-8u144-linux-x64.tar.gz。 下载之后,终端输入 cp jdk-8u144-linux-x64.tar.gz /opt 把这个压缩包复制到opt目录下, 然后进入到opt目录,输入 tar -zxvf jdk-8u144-linux-x64.tar.gz 解压缩。 二、编辑etc目录下的profile文件 sudo vi /etc/profile 用vi命令编辑/etc目录下的profile文件 按 i 进入编辑模式,键盘的上下左右移动光标到最后一行 如图,在最后一行加上:export JAVA_HOME=/opt/jdk 按esc键退出编辑模式,回到命令行模式。 输入 :x 保存并退出。 三、在etc/profile.d目录下创建java.sh文件并编辑 cd /etc/profile.d 进入到该目录下 sudo vi java.sh 创建java.sh文件并编辑(按 i 进入编辑模式) java.sh编辑内容: (这里需要按路径来写,先去opt目录下复制解压缩的路径,显示路径是/opt/jdk1.8.0_144) export JAVA_HOME=/opt/jdk1.8.0_144 export PATH=$PATH:/opt/jdk1.8.0_144/bin 输入 :x 保存并退出。 四、source全局配置文件/etc/profile,检验是否配置成功 source /etc/profile 全局配置文件(普通用户切换到root用户,要输入这个命令,之前的配置步骤不用再重复) java -version 检验是否配置成功,成功则如下图: 总结 到此这篇关于Linux jdk安装及环境变量配置教程(jdk-8u144-linux-x64.tar.gz)的文章就介绍到这了,更多相关Linux jdk安装及环境变量配置(jdk-8u144-linux-x64.tar.gz)内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
1.命令简介 seq(Sequence) 命令用于按照指定步长产生从起始数到结束数之间的所有整数。起始数和步长可使用默认值 1,结束数必须指定。 2.命令格式 seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST 3.选项说明 注意,长选项的强制性参数对于短选项也是强制的。 -f, –format=FORMAT 使用 printf 样式的浮点格式 -s, –separator=STRING 使用指定字符串分隔数字(默认:\n) -w, –equal-width 在数字添加 0 使得宽度相同 –help 显示帮助信息并退出 –version 显示版本信息并退出 4.常用示例 (1)输出 1~5。 seq 5 # 或 seq 1 5 # 或 seq 1 1 5 (2)按照步长 10 生成从 10 到 50 的整数序列。 seq 10 10 50 10 20 30 40 50 (3)按照指定格式 num%03g 格式输出。num 为前置字符串,%03g 表示数字宽度为 3,不足前置补 0。 seq -f"num%03g" 3 num001 num002 num003 (4)前置补 0 使得数字宽度相同。 seq -w 9 11 09 10 11 注意,当输出等宽字符串时不能再指定格式字符串,即 -w 与 -f 不能一起用。 (5)使用指定字符串分隔数字。 seq -w -s "," 9 11 09,10,11 (6)使用 Tab 分隔数字。 seq -s "`echo -e '\t'`" 9 11 9 10 11 先用命令做成一个 Tab,然后再指定成分隔符。 参考文献...
dig – DNS lookup utility 当域名出现访问故障时,可以通过检查域名解析来判断是否是由错误的解析导致的问题。 1.域名解析无结果(不存在或被HOLD(未实名认证等)) 2.域名解析到错误的IP(被阻断,被劫持响应错误结果,需要对解析流程做判断) 3.对应CNAME记录的值无法解析 4.部分解析异常(配置多个域名服务器时,多个服务器解析结果不一致,需要确认是否在DNS服务器上配置添加的解析记录一致) 简单使用解析一下www.baidu.com结果如下: 可以看到有请求段和应答段,最后解析出的A记录有两条。 dig命令做迭代查询 在命令后加上+trace可以跟踪整个解析流程: 1. 由根域名服务器查找到负责解析.com的顶级域名服务器 2. 由顶级域名服务器查找到baidu.com的二级域名服务器 3. 由二级域名服务器查找到www.baidu.com对应一条CNAME记录www.a.shifen.com 4. 再去查找www.a.shifen.com对应的A记录 5. 最后返回A记录对应的IP地址 [root@jia3 ~]# dig www.baidu.com +trace ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com +trace ;; global options: +cmd . 320307 IN NS a.root-servers.net. . 320307 IN NS k.root-servers.net. . 320307 IN NS i.root-servers.net. . 320307 IN NS l.root-servers.net. . 320307 IN NS b.root-servers.net. . 320307 IN NS e.root-servers.net. . 320307 IN NS h.root-servers.net. . 320307 IN NS d.root-servers.net. . 320307 IN NS g.root-servers.net. . 320307 IN NS j.root-servers.net. . 320307 IN NS f.root-servers.net. . 320307 IN NS m.root-servers.net. . 320307 IN NS c.root-servers.net. ;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 98 ms com. 172800 IN NS c.gtld-servers.net. com....
1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80 2.修改apache服务的端口号 vim /etc/apache2/ports.conf 3.将端口号修改为8080 4.修改nginx服务配置 vim /etc/nginx/conf.d/nginx.conf 5.重启nginx服务 service nginx restart 6.页面尝试访问本地资源 7.访问成功! 总结 以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!
1.之前我下载的是QT5.13版本但是安装结束后Qtcreator出现打不开,这里我推荐Qt5.9版本,下载网址如下: https://download.qt.io/official_releases/qt/5.9/5.9.0/ 下载后存到你想存的文件,我这里是在主文件中创建了个qt5的文件夹 第一步,在终端输入sudo su,然后输入cd /qt5(若不是存在home中,那么直接输入这个,不用进入root。接着如上图所示操作. 2.若输入命令chmod +x qt-opensource-linux-x64-5.9.0.run显示no found一些错误的话,就先输入sudo apt-get install freeglut3-dev,再输入chmod +x qt-opensource-linux-x64-5.9.0.run(.run前面是你下载的qt版本),然后输入ls,最后输入sudo ./qt-opensource-linux-x64-5.9.0.run进行安装。 跳出安装界面,在QtAccount界面直接skip跳过,然后按照默认的安装(注意:在设置界面需要将Qt5.9.0与tools都勾选上) 3.安装完成后还要修改一些配置。在终端命令行中输入: sudo vi /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf 下图中Qt5.9.2改为Qt5.9.0(根据自己的版本更改,表示是bin文件的安装路径)第二行也改为对应版本(没有的话自己添加) 注意:上图采用的是vim编辑器编辑,所以这里使用时一定要小心,不然很容易错删。 这里有我们使用到的一些按键: 当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标 保存:wq; j 向下移动一行; k 向上移动一行; h 向左移动一个字符; l 向右移动一个字符;; 向上箭头 向上移动; 向下箭头 向下移动; 向左箭头 向左移动; 向右箭头 向右移动; i 在光标之前插入; a 在光标之后插入; I 在光标所在行的行首插入; A 在光标所在行的行末插入; dd 删除一行; #dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行 Vim编辑器详细可以参考:# 在创建咱们第一个项目之前,还需要在终端安装 sudo apt-get install libgl1-mesa-dev 到这一切就都弄好了,下面开始运行我们第一个项目 在/opt/Qt5.9.0/Tools/QtCreator/bin(这是我的安装路径)文件夹下找到qtcreator,双击打开qt creator,会出现: 可能出现问题:qtcreator界面可能弹出文件错误,无法创建…之类的错误,那么解决方案是:打开终端,输入sudo su进入root,然后再输入命令 chown -R user:user .config user是你home下的用户名,我的是mimosa,如下图 再打开Qtcreaor就不会出现文件错误的弹窗了。如果觉得每次去找qtcreator软件不方便,可以将其锁定在启动处。到此完美解决了Qt的安装。 卸载QT 卸载就很容易了,直接在安装目录下找到 MaintenanceTool 如:我的Qtcreator安装在root文件下的qt文件夹,那么按上图操作,可以发现MaintemanceTool所在文件位置 在这个目录下的终端输入sudo ./ MaintenanceTool,这时会跳出软件卸载界面,点击继续。 总结 到此这篇关于Ubuntu14.04安装、配置与卸载QT5的步骤详解的文章就介绍到这了,更多相关Ubuntu14.04安装、配置与卸载QT5内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
你在linux上安装puppeteer时可能遇到如下问题,本文将引导你如何爬坑! > puppeteer@2.0.0 install /www/node_modules/puppeteer > node install.js ERROR: Failed to download Chromium r706915! Set “PUPPETEER_SKIP_CHROMIUM_DOWNLOAD” env variable to skip download. { Error: EACCES: permission denied, mkdir ‘/www/node_modules/puppeteer/.local-chromium’ — ASYNC — at BrowserFetcher.<anonymous> (/www/node_modules/puppeteer/lib/helper.js:111:15) at Object.<anonymous> (/www/node_modules/puppeteer/install.js:62:16) at Module._compile (module.js:635:30) at Object.Module._extensions..js (module.js:646:10) at Module.load (module.js:554:32) at tryModuleLoad (module.js:497:12) at Function.Module._load (module.js:489:3) at Function.Module.runMain (module.js:676:10) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3 errno: -13, code: ‘EACCES’, syscall: ‘mkdir’, path: ‘/www/node_modules/puppeteer/.local-chromium’ } npm WARN enoent ENOENT: no such file or directory, open ‘/www/package.json’ npm WARN www No description npm WARN www No repository field. npm WARN www No README data npm WARN www No license field 我成安装puppeteer并实际截图的过程如下: 1.安装nodejs和npm...
crontab是一个用于设置周期性被执行的指令。其守护进程为crond. crontab分为两种配置模式,一种为用户级的crontab,一种为系统级的crontab,这里我们分开来谈。 用户级crontab 用户使用新建循环型工作调度时,使用的crontab命令,crontab -e所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename 用户控制文件 /etc/cron.allow : 将可以使用crontab的用户写入,仅该文件内的用户可以使用crontab,相当于白名单 /etc/cron.deny : 将禁止使用crontab的用户写入,仅该文件内的用户禁止使用crontab,相当于黑名单 其中/etc/cron.allow优先级大于/etc/cron.deny,为避免混淆,建议二者仅使用一个。 命令 crontab [-u usename] [-l|-e|-r] 参数: -u:只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度 -e: 调用vi编辑crontab的工作内容 -l: 列出crontab的工作内容 -r: 删除所有crontab的工作内容。 语法 # .—————- 分钟 (0 – 59) # | .————- 小时 (0 – 23) # | | .———- 日期 (1 – 31) # | | | .——- 月份 (1 – 12) OR jan,feb,mar,apr … # | | | | .—- 周几 (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * 命令 语法与系统级crontab很相似,不同点在于此处不需要指定执行用户,而系统级crontab(/etc/crontab)中需要。 举例如下: */10 * * * * /home/test.sh #每隔10分钟就以当前用户执行一次/home/test.sh脚本 0 2 * * * /home/test.sh #每天2点 0 5,17 * * * /home/test.sh #每天5点、17点 0 17 * * sun /home/test.sh #每周日17点 0 4,17...
很多人都在使用Linux Homebrew ,有三个技巧可以帮助你更好的使用它: 避免环境污染 首先要避免将 Homebrew 的 bin 目录添加到 $PATH ,而仅仅将你需要使用的几个可执行做软连接放到 ~/bin 下面(这个目录在 $PATH 中),以避免环境污染。 当你编译或者安装新软件时,你显然希望它依赖的是 /usr 目录下面的系统文件,而如果把 Homebrew 的 bin 目录长期置于 $PATH 中,那么编译时将会调用到 Homebrew 里面的 gcc / clang (这两个经常在 brew 中被自动安装,用于编译和安装 homebrew 中源码形式的包),即便你的 brew 中没有 gcc / clang,也会在分析依赖时调用到 pkg-config / python 等 brew 下的软件,从而返回基于 homebrew 的依赖,这显然不是你想要的。 所以把你需要的工具做个软连接放到 ~/bin 下面就可以既使用 homebrew 又避免环境污染,只是在调用 brew 安装新包时需要临时添加 homebrew 的 bin 目录到 $PATH 中,用完了又取消,我们用两个函数做这个事情: function brew_disable() { export PATH=${PATH##*"/.linuxbrew/bin:"} export PATH=${PATH##*"/.linuxbrew/sbin:"} export MANPATH=${MANPATH##*"/.linuxbrew/share/man:"} export INFOPATH=${INFOPATH##*"/.linuxbrew/share/info:"} } function brew_enable() { BREW='/home/linuxbrew/.linuxbrew' brew_disable export PATH="$BREW/bin:$BREW/sbin:$PATH" export MANPATH="$BREW/share/man:$MANPATH" export INFOPATH="$BREW/share/info:$INFOPATH" export HOMEBREW_NO_AUTO_UPDATE=1 } 上面两个函数放到你的 bashrc 中,平时不需要启用 homebrew,需要安装时调用一下 brew_enable,安装完包了再用 brew_disable。 还有另外一个做法,直接写一个名叫 brew 的函数: function brew() { PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" /home/linuxbrew/.linuxbrew/bin/brew "$@" } 这样再敲入 brew 命令的时候,会临时设置路径并调用真正的 brew 可执行: brew install fzf 有了上面的函数,你就不需要设置任何 brew 路径而直接安装软件了,如果你不想覆盖 brew 这个名字,可以把上面的函数改名为 brew2 之类的。 禁用自动更新 第二项优化,是禁用每次 brew 自动更新: export HOMEBREW_NO_AUTO_UPDATE=1 这样可以避免每次 install 软件急着用时它给你 update 一半天,是十分影响心情的事情,有了这个宏以后完全可以定期手动 brew update...
安装虚拟化软件 在虚拟机安装操作系统之前要先确保你的主机中有虚拟化管理软件,如果没有的话可以用以下命令进行安装虚拟化: grep --color -E "vmx|svm" /proc/cpuinfo yum install qemu-kvm qemu-img yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client 虚拟化管理软件打开方式 在你装好虚拟化软件之后,可以用以下方式打开: (1). 图形方式 点击桌面左上角的 Applications ,鼠标放在 System Tools选项栏上,再选择里面的 Virtual Machine Manager,就ok了,如下: (2). 命令的方式 用下面的命令就可以打开虚拟化管理软件了: virt-manager 注意:要在root超级用户下执行该命令。 打开之后的界面如下所示: 虚拟机安装Linux操作系统步骤打开虚拟化管理软件之后,点击左上角的图标(一个电脑上面有一个星星的图标),开始进行虚拟机的创建: 点击之后,出现如下的界面: 就选择默认的 Local install media 本地镜像安装,然后点击 Forward: 然后在出现的界面中点击 Browse 选择镜像的具体存放位置: 再点击 Browse Local : 然后选择你要安装的系统的镜像软件,之后再点击Forward: 然后出现了对内存大小和CPU设置的界面,就选择默认的数值就可以(注:若要是安装图形的话,内存大小最少需要768M),直接点击Forward: 然后出现选择硬盘大小的界面,我们把数值改为10(注:若要是安装图形的话,硬盘大小最少需10G),改完之后再点击Forward: 然后给虚拟机起一个名字,并且把下面的选项选中,最后点击Finish,如下: 在出现的界面选择硬件信息 IDE Disk1,然后再点击里面的Advanced options,在Disk bus下拉选项中选择VirtIO,随后再点击Apply,如下: 再选择左侧的NIC设置,然后在Device model选项中选择virtio,之后再点击下面的Apply,最后再点击左上角的开始安装: 之后就会出现如下的界面,选择第一行的选项Install: 回车之后就会开始一些系统内部基本的设置,最后都配置完成之后就会开始安装了。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。