初次尝试Linux并记录一二
假如我有一个Linux系统
安装过程:加载中...
版本:Ubuntu Server 16.04.1 LTS 64位
得到一个IP:*.*.*.*
下载工具
WinSCP: WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端
PuTTY: PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件
网盘下载
设置winscp集成终端Putty


新建会话

连接Putty

若出现 服务器拒绝了SETP连接,但它监听FTP链接。。。没有安装sshd
解决方案
sudo apt-get install yum安装 ,中间有输入:Ysudo apt-get install openssh-server,中间有输入:Ysudo ps -e |grep ssh回车可以看到sshd
参考:http://blog.csdn.net/shenwb110/article/details/70228984
安装一个软件然后学习一堆命令
ubuntu安装软件可参考:http://www.cnblogs.com/xwdreamer/p/3623454.html
- 安装一个tree来查看目录树
sudo apt-get install tree:意作以管理员身份使用apt-get安装tree程序

- 命令示例

文件操作的一些命令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏文件
touch 创建空文件
创建示例:touch hello.txt
echo 写入字符到文件
打印示例:echo 'hello world'
写入示例: echo "hello">hello.txt
追加示例: echo "hello233">>hello.txt
`echo -n`:去除换行符(no enter)
更多技巧:http://blog.csdn.net/xukai871105/article/details/35834703
cat 查看文件内容
查看示例:cat hello.txt
wc 统计文本中行数,字数,字符数
cp 复制文件
复制示例:cp hello.txt hello2.txt
mv 移动或重命名
移动示例:mv hello2.txt hello3.txt #移动到同一个目录==重命名
rm 删除文件
-r 递归删除
-f 强制删除
删除文件示例:rm hello3.txt
删除目录示例:rm ./testdir -r
mkdir 创建目录
-p 创建上层目录,如目录早已存在则不当作错误
创建示例: mkdir testdir/a #testdir存在
创建示例2: mkdir testdir2/test/ -p #testdir2不存在
cd 切换目录
rmdir 删除空目录
删除示例:rmdir testdir #非空目录使用rm testdir -r
pwd 显示当前目录
find 在文件系统中搜索某文件
查找示例:find testdir *.txt #查找testdir下所有txt文件
更多技巧:http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html
grep 在文本文件中查找字符串
查找示例:grep 'he' ./hello.txt
更多技巧:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html
tree 安装后使用tree命令以树节点查看目录文件
nano 一个文本编辑器
使用示例:nano hello.txt 编辑完成Ctrl+X,y,回车~~
apt-get和dpkg的一些命令
更多详情见:http://www.cnblogs.com/forward/archive/2012/01/10/2318483.html
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
apt-get install # ------(package 安装包)
apt-get install # -----(package --reinstall 重新安装包)
apt-get -f install # -----(强制安装, "-f = --fix-missing"当是修复安装吧...)
apt-get remove #-----(package 删除包)
apt-get remove --purge # ------(package 删除包,包括删除配置文件等)
apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
apt-get update #------更新源
apt-get upgrade #------更新已安装的包
apt-get dist-upgrade # ---------升级系统
apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖,当是查看该包被哪些包依赖吧...)
apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
apt-get clean && apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
apt-get check #-------检查是否有损坏的依赖
dpkg -S filename -----查找filename属于哪个软件包
apt-file search filename -----查找filename属于哪个软件包
apt-file list packagename -----列出软件包的内容
apt-file update --更新apt-file的数据库
dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
dpkg -s 查询已安装的包的详细信息.
dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
dpkg -reconfigure 重新配置
搭建一个nodejs环境
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bashsource ~/.bashrcnvm install stable#安装最新稳定版nano hello.js新建一个文件;注:nano,vi都是Linux自带的文本编辑器,我选择了nano,不要问我为什么~
输入完成后Ctrl+x保存,输入y,然后回车就可退出,若想查看hello.js:cat hello.js
//粘贴下面的代码到编辑器(复制后单右键)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World233\n');
}).listen(2323, '0.0.0.0');//这里需要监听0.0.0.0,使其能在外网访问到
console.log('服务启动:http://ip:2323/');
- 现在就可以在本地访问
http://服务器ip:2323/看到输出了
激活root用户
root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限
第一次激活需要设置root用户的密码,如果出现
su: Authentication failure就需要重置密码设置root密码:
sudo passwd
Password:就输入你当前的用户密码
Enter new UNIX password:root的新密码
Retype new UNIX password:重复设置的新密码切换用户
切换到root用户:su root
切换到ubuntu:su ubuntu运行远程连接
编辑vim /etc/ssh/sshd_config
修改#PermitRootLogin prohibit-password为PermitRootLogin yes
重启ssh服务:service ssh restart
获取md5值
获取字符串md5(-n表示no Enter)
echo -n 'hello'|md5sum|cut -d ' ' -f1
获取文件md5
md5sum *.txt|cut -d ' ' -f1
获取文件md5值并写入txt文本
(md5sum **/*.txt|cut -d ' ' -f1) | tee jjfa.txt
对比文件
diff ./jjfa.txt ./jjfa-new.txt
对比并执行
(diff ./jjfa.txt ./jjfa-new.txt) 2> /dev/null && [ $? -eq 0 ] && echo "完全相同,跳过执行命令" || echo '文件不同执行'
最后,园子虐我千万遍,我待园子如初恋~
初次尝试Linux并记录一二的更多相关文章
- 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录
孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 初次尝试使用jenkins+python+appium构建自动化测试
初次尝试使用jenkins+python+appium构建自动化测试 因为刚刚尝试使用jenkins+python+appium尝试,只是一个Demo需要很多完善,先记录一下今天的成果,再接再厉 第一 ...
- 孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库
孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第三天.感觉这个东西学习起来还是那么困 ...
- 孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库
孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库服 ...
- 微信小程序开发初次尝试-----实验应用制作(一)
初次尝试微信小程序开发,在此写下步骤以做记录和分享. 1.在网上找了很多资料,发现这位知乎大神提供的资料非常全面. 链接 https://www.zhihu.com/question/50907897 ...
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- Linux巩固记录(3) hadoop 2.7.4 环境搭建
由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...
- Microsoft SQL server2017初次安装与使用记录
Microsoft SQL server2017初次安装与使用记录 学校数据库课程以Microsoft SQL server为例, 由于老师给的软件版本和我的window10不兼容,选择官网的最新版2 ...
随机推荐
- 01.Nodejs入门之Helloworld
说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...
- XJOI1424解压字符串
解压字符串 给你一个字符串S,S是已经被加密过的字符串.现在要求你把字符串S还原.字符串S可能会出现这样的格式:k(q),它表示字符串q重复了k次,其中q是0个或多个字符,而k是一个数字,范围是0至9 ...
- 老李分享:android手机测试之适配(1)
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- C# Task 源代码(2)
上篇已经讲到Task 的默认的TaskScheduler 为ThreadPoolTaskScheduler. 这时我们回到原来的task 的start方法,在代码最后,调用了 ScheduleAndS ...
- hdu 3032 Nim or not Nim? (sg函数打表找规律)
题意:有N堆石子,每堆有s[i]个,Alice和Bob两人轮流取石子,可以从一堆中取任意多的石子,也可以把一堆石子分成两小堆 Alice先取,问谁能获胜 思路:首先观察这道题的数据范围 1 ≤ N ...
- Android 接入 OpenCV库的三种方式
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少 ...
- Java Level 2 学习的八大名著
Java Level 2 学习的八大名著 前段时间有几天难得的假期,于是把自己认为Java技术栈中的精华总结了一下,但是一直没有时间写下来,今天终于得空希望本文可以对大家有所启发.通过多个实际项目的沉 ...
- MYSQL中 ENUM 类型的详细解释
ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果将一个无效值插 ...
- Ubuntu抛弃了Untiy转向Gnome,美化之路怎么办?不用怕咱一步一步大变身!
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 常用软件安装+系统软件卸载:http://www.cnblogs.com/du ...
- python作业设计:输入用户名密码,认证成功后显示欢迎信息,输错三次后锁定
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3.判 ...