linux

一、命令学习:
1.进入python:linux自带python2。进入终端后,输入命令:python ,即可
2.解压命令: xxx.tar的解压命令是tar -xvf,xxx.tar.gz 解包命令是 tar -zxvf
3.查看帮助命令:** --help 或者man **
4.clear,清屏命令
5.touch 创建文件(如果文件不存在,就创建文件。如果文件已经存在,就修改文件末次修改日期)
touch a/b/c/123.txt(指定目录创建文件)
6.mkdir 创建文件夹(Linux中,文件和目录不能重名,如果存在同名的文件,就不允许创建目录)
mkdir -p 连续创建多个目录文件夹
7.rm删除文件(删除后不能恢复)
rm 删除文件,不能删除文件夹
rm -r删除文件夹必须用此命令(多个文件夹里面的文件夹、文件等)
rm -r *删除当前文件内所有文件及文件夹
rm -r *3删除以3结尾的文件及文件夹
rm -f强制删除,忽略不存在的文件,没有提醒
8.ls 显示当前文件内容
ls -a显示隐藏文件(隐藏文件前缀是.)
ls -l以列表方式显示文件详细信息,纵向显示
ls -lh人性化显示文件大小,更加直观
ls -lha显示当前文件夹所有文件详细信息(包括隐藏文件)
ls *23,*代表多个不定字符(通配符使用)
ls ?23,?代表1个任意字符
ls [12345]23,[]代表字符组中任意一个字符,[1-5],[abc],[a-c]
9.pwd显示当前文件夹的目录
10.cd命令
cd .代表当前目录
cd ..代表上级目录
cd 回家目录
cd ~也是回家目录,cd ~/Desktop切换到Desktop
cd -在最近两次目录中来回切换
11.Tab键补起文件/目录名
12.ctrl键+c,终止上一命令,退出并换行
13.按↑/↓光标键可以切换曾经使用过的命令
14.tree,以树状图的方式显示指定目录的结构
tree ~表示家目录的结构
tree -d只显示目录,不显示文件
tree -d ~显示家目录中的目录,不显示文件
15.cp命令的用法(copy的缩写):cd 源文件 目标文件
cp ~/Documents/123 ./123,将documents中的123复制到当前目录(.号代表当前目录)
cp ~/Documents/123 .如果复制时候不更改文件名,可以直接写.号就可以了
cp -i:cp命令复制的,如果覆盖文件没有提醒。若要有覆盖提醒,要用命令cp -i
cp -r复制目录: cp -r a 666
16.mv命令(move的缩写),功能移动/重命名:
mv c ./a/(把当前目录下的c文件夹移动到a文件夹下)
mv c a将c文件或文件夹命名为a
mv -i有重复时提醒,同意y,不同意n
17.cat命令:
查看文件中的全部内容
cat -b **, 显示文件内容行号(没有内容的不编号,有内容的才编号)
cat -n **,显示所有行的行号
18.more命令,查看文件中的部分内容,更多的话(回车滚动一行,空格键滚动一屏,b回滚一屏,
f前滚一屏,q退出)
19.grep,文本搜索
grep 查找项 文件名,显示“查找项”在文本中所在行的内容,并高亮“查找项”
grep -n 查找项 文件名,显示“查找项”在文本中所在行的内容及行号,并高亮“查找项”
grep -vn 查找项 文件名,显示不包含“查找项”的行的内容及编号
grep -i 查找项 文件名,忽略大小写。
grep ^a,希望指定文本出现在以a开头的行首
grep ke$,希望指定文本出现在以ke结尾的行尾
20.echo,(重定向)
将后面的内容在终端中再显示输出出来,echo hello > b,将hello写入b文件(写入符号>)
>,表示输出写入,会覆盖文件原有的内容: ls -lh > a,
将ls -lh输出的结果写入文件a里面(覆盖原有内容)
>>,表示追加,会将内容追加到已有文件的末尾: ls -lh >> a
将ls -lh输出的内容追写入文件a里面(不覆盖,是接着原来内容写)
21.|,管道(将一个命令的输出,可以通过管道 做为 另一个命令的输入)
is -lha .~ | more,将is -lha的输出结果分屏显示
is -lha .~ | grep do,将is -lha的输出结果中包含do的内容过滤出来,并且do高亮
远程管理常用命令
21.关机:shutdown
只输入shutdown, 会在一分钟后关机
shutdown -r,重新启动
shutdown 20:25,表示在20:25关机
shutdown -c 取消关机动作
查看获配置网卡信息
22.ifconfig,查看/配置计算机当前的网卡配置信息,提取信息(关键词inet:ifconfig | grep inet)
127.0.0.1是本地回环地址,用于检测本机网卡是否正常
23.ping ip地址,检查ip地址 的连接是否正常
ping 可以检查网址(域名),返回的ip地址就是域名的ip,域名就是ip地址的别称,一对一的
服务期ip有默认的端口号,ip和端口号之间用冒号“:”连接,如果没有指定端口号,就用默认端口
端口号默认端口:SSH服务器:22,Web服务器:80, HTTPS:443,FTP服务器:21.
远程登录和复制文件
24.ssh:常用的远程管理服务期工具
特点:数据传输是加密的,防止信息泄露;数据传输是压缩的,可以提高传输速度;
mac,Linux系统默认支持,Windows系统要安装putty或者xshell
ssh [-p port] user@remote
port:是端口号
user:是在远程计算机上的用户名,如果不指定,默认为当前用户
remote:远程计算机的ip地址/域名

25.scp:远程复制命令
scp -P 22 用户名@ip地址:目录/文件 . 将远程的文件复制到当前文件夹(.代表当前目录)
scp -P 22 -r 用户名@ip地址:目录 demo 将远程目录文件夹里面文件夹复制到当前目录的demo里面
26.Windows与Linux之间文件传输,通过ftp (Windows下载filezilla)
27.免密码登陆:
先转到家目录下的.ssh目录文件下
命令:ssh-keygen,一路回车。
ssh-copy-id 远程计算机用户名@ip地址,回车,输入密码。将本机密码文件(.pub)拷贝到远程计算机的.ssh文件夹下面
再次用ssh登陆远程电脑就登陆,无需输入密码,后续操作也不用输入密码了
28.配置别名:利用别名代替“-P 22 用户名@ip地址”,后面可以直接使用别名,就不用输入那么长的命令了(适用于需要长期登陆的情况)
先在.ssh文件夹下面创建config文件,再在里面加入如下代码即可:
Host 配置别名
HostName ip地址
User 远程计算机用户名
Port 端口号


29.sudo 使用超级用户的权限
su表示使用另一个用户的身份(substitute user)
sudo 输入密码可以有5分钟的有效时间,过了需要重新输入密码
30.gedit **,用gedit打开**文件

用户和权限:
31.组:将组设置好权限后,将相同权限的人放在一个组里面,这样就简化对每一个人分别设置权限了
drwxr-xr-x 2 daniel daniel 4.0K 3月 5 11:32 Downloads
-rw-r--r-- 1 daniel daniel 8.8K 3月 3 23:15 examples.desktop
开头的d代表文件夹,-代表文件,随后的xwr代表权限,三个为一组,分别是用户,组,其他用户的权限
第一个daniel是用户,第二个daniel是组
后面的数字表示硬链接数,一般文件是1,文件夹取决于子目录数目,数目越多,能够到达此目录的方式越多,然后数字就越大
32.chomd命令,更改文件的权限。chomd -rw **,chomd +r **, chomd +x **, r读权限,w写权限,x执行权限(./文件名,执行文件检测。)**-,没有x,可读可写操作都不行。r-x;可读,不可写;rwx,可读可写。(只能设置可读写执行的权限,不能修改用户权限)
chmod 755 文件名 目录名,(7,5,5分别代表拥有者,组,其他。是由r=4,w=2,x=1组合相加而来的),现在表示拥有者具有7可读写执行权利,组具有5可读执行权利,其他具有5可读执行权利
chmod -R 755 文件名 目录名,加了R,表示更改目录名中所有文件的权限。
ls -al查看当前目录下所有文件的权限情况
33.groupadd添加组,groupdel删除组,这些终端命令需要在前面加sudo命令。
cat /etc/group,查看组信息
chgrp-R,修改文件/目录的组
chown 修改拥有者
34.创建用户: useradd -m -g 组名 用户名,-m是自动建立用户家目录,如果忘了添加,就得自己去添加权限
-g是指定用户所在的组,否则就会建立一个和用户名同名的组
passwd 用户名。创建了用户,一定要设定密码。
35.删除用户: userdel -r 自动连同家目录一起删除
36.id 用户名:查看id权限等,和cat /etc/group,cat etc/passwd 中的信息一致
37.whoami,询问电脑我是那个用户
38.who,查看当前登陆的所有用户
39.passwd文件:/etc/passwd,文件由个分号,7个信息组成,分别是:
1).用户名
2).密码(x,表示加密的密码)
3).UID(用户标识)
4).GID(组标识)
5).用户全名或本地账号
6).家目录
7).登陆使用的Shell,就是登陆之后,使用的终端命令,ubuntu默认是dash

40.usermod,修改新建用户的附加组,是新建用户拥有sudo权限等
格式:sudo usermod -G sudo zhangsan,给新建zhangsan用户添加sudo权限。但想要zhangsan用户拥有权限,必须退出终端后,再次进入才可以执行。
41.which,查看当前命令所在位置
42.切换用户:su - 用户名 (切换到新用户的同时,切换到新用户所在目录)如果没有-号,只会切换用户,不会切换工作目录。如果后面不接用户名,直接切换到root,此时执行系统管理的命令就不需要sudo了,权限最高,但这个操作少用,因为一有不慎,可能导致系统瘫痪。exit返回上次登陆的用户。

系统信息相关命令
43.查询日期
date查询当前系统时间
cal查询当月日历,cal -y查看当年日历
44.磁盘信息
df -h 显示磁盘剩余空间(disk -free),-h是人性化显示,显示的根目录下的
du -h 目录名,显示目录下的文件大小(disk -usage),目录不写默认显示当前目录
45.进程信息
ps aux查看进程的详细状况(process status)。ps可以单独使用,单独使用时显示的信息很简略。aux可以分别组合使用。a,代表终端上的所有进程,包括其他用户的进程。u显示进程的详细状态。x显示没有控制终端的进程。
top,动态显示运行中的进程并且排序
kill 进程代号,进程代号利用ps看,PID对应的代号。
kill -9 进程代号,如果普通的kill杀不掉,就加-9,强制杀掉。(别随意杀死以root身份运行的程序)

其他命令
46.查找文件:find
find [目录] -name "**",不输入目录,就是当前文件下查找**文件,**文件可以配合通配符使用。eg: find -name "*3*",搜索当前目录及子目录下所有包含3的文件及文件夹。find learn/ -name "*4*",搜索learn目录下所有包含4的文件及文件夹。

47.软链接(使用绝对路径),相当于Windows中的快捷方式
ln -s 被链接的文件 链接文件,给被链接的文件创建一个链接文件。链接目录要使用绝对目录ln -s /home/daniel/Desktop/678/446/333 /home/daniel/Desktop/hard,即从根目录开始写。不要使用相对路径ln -s 678/446/333 ooo,如果快捷方式目录变了就会出现错误。
48.硬链接
ln 被链接的文件 链接文件,相比于软链接,没有-s,优点是当硬链接指定的文件被删除后,其指定的内容不受影响,硬链接依然可以继续使用。如果是软链接,当删除原文件,链接就不能使用了,用tree,ls查看都是红色的。
原理是在linux中,文件名和文件的数据是分开储存的。软链接中,当原文件名被删除时,文件数据就被删除了。硬链接中,当原文件名被删除是,因为有硬链接在,文件数据不会被删除,只有当文件名和硬链接全部删除后,对应的文件数据才会被删除。

49.打包和解包(tar命令,只负责打包,不负责压缩)
Windows中常用压缩是rar,mac中是zip,Linux中是tar.gz
打包文件命令: tar -cvf 打包文件.tar 被打包的文件路径/... ,c是creat,(多个文件之间用空格隔开,相同性质的文件可以使用通配符)
解包文件命令: tar -xvf 打包文件.tar
50.压缩和解压缩(.tar.gz文件)
纯压缩命令gzip xx.tar
先打包,后压缩后的后缀名是: xxx.tar.gz(此命令一般不用)
压缩文件命令: tar. -zcvf 打包文件.tar.gz 被打包的文件
解压缩文件命令: tar. -zxvf 打包文件.tar.gz
51.bzip2压缩格式(.tar.bz文件)(2读two听着专业一些)
压缩命令格式: tar. -jcvf 打包文件.tar.bz 被打包的文件路径
解压缩命令格式: tar. -jxvf 打包文件.tar.bz
解压到指定文件夹:tar -jxvf 打包文件.tar.bz -C 指定目录 ,但是指定的文件夹必须是存在的。

52.软件安装、卸载(通过apt安装/卸载软件)
安装命令:sudo apt install 软件包
卸载软件命令: sudo apt remove 软件名
更新软件: sudo apt upgrade ,系统会自动检测系统里面哪些软件有更新,就会自动下载升级了
53.配置软件源
因为Ubuntu服务器是在国外(主服务器),国内有镜像源(阿里/搜狐/清华等镜像服务器),而且软件和国外服务器上的软件是一样的。如果在国内下载国外服务器上的软件,就会比较慢。通过设置镜像源到国内服务器,可以更快地访问软件源。
方式:设置-->software&updates——> download from,去里面选择最快的服务器,自动选择时间比较久,请耐心等待。选择好后,第一次进入软件,软件会更新所有软件源,所以第一次也需要耐心等待,后续就会快很多了。


*************************************vi学习********************************************************
1.用于远程编辑服务器上的文本
2.特点:使用vi编写代码,速度快;没有图形界面;手指只在核心区域,很少用方向键;不支持鼠标操作;没有菜单;只有命令;只是文本内容编辑器,不能对字体、段落进行排版。
3.vim不仅包含了vi的全部功能,还包括了其他一些功能,是大部分程序员的首选。被成为编辑器之神。现在大部分的vi都是vim了,快捷方式是vi,核心其实是vim。
3.安装vim:sudo apt-get install vim
3.vim配置:打开/etc/vim/vimrc
配置显示行数:最后一行加上set number
配置搜索高亮显示:最后一行加上set hlsearch
4.打开方式:终端中,vi 文件名 即可打开文件。
vi 文件名 + 打开后进入最后一行
vi 文件名 +10 打开后进入第10行

5.vi命令模式:打开后进入的界面是命令模式,命令模式是vi的入口,里面可以实现:定位、翻页、复制、粘贴、删除等操作
5.vi末行模式:执行保存、退出等操作,是vi的出口。
命令模式进入末行模式:在命令模式下,输入:(冒号)即可进入末行模式。
末行模式进入命令模式:按ESC键
保存退出文件:按wq即可,wq等价命令x,q!是不保存强行退出
5.vi编辑模式:
从命令模式进入编辑模式:输入i。
从编辑模式进入命令模式:按ESC键
在命令模式下可以快速定为代码,编辑模式中必须通过上下键来切换定位代码,不能用鼠标
6.如果强行关闭终端,下次打开文件会出错。将文件目录中的隐藏文件删掉即可。

7.命令模式下,要用英文输入模式

****vi命令学习*******
一、重复次数
1.命令模式下,输入数字,再跟上一个命令就可以重复执行指定次数
二、移动和选择(多练)----命令模式----
1.光标移动:h左,j下,k上,l右
2.行内移动:w向后移动一个单词(光标在行首),e向后移动一个单词(光标在行尾),b向前移动一个单词,0行首,^行首第一个不是空白的位置,$行尾
3.行数跳转移动:gg跳到文件开头,G跳到文件末尾,8gg、8G、:8,三个方法跳转到第8行
4.翻页:ctrl+b向上翻页,ctrl+f向下翻页;H光标调到屏幕顶部,M跳到屏幕中间,L跳到屏幕底部。
5.{}跳转段落:{,是向上跳转段落;-------},是向下跳转段落。段落与段落之间是空行间隔的。
6.%是成对儿括号之间的切换
7.m(a-z),对当前位置进行标记,可以通过 '(a-z) 从其他位置快速跳转到此位置。标记可以被替换,删除当行文字就可以删除标记。

三、编辑操作(删除、复制、粘贴、替换、缩排等)----命令模式----
1.可视模式(可以与移动命令一起连用):v选择文本(可视模式),V选择文本行(可视行模式),ctrl+v是可视块儿模式(垂直方向选择文本)
v},选中当前到断末内容;v%,选中当前匹配括号内容;ctrl+v},垂直方向选择从当前位置到断末的内容;
2.删除(其实是剪切操作,可以通过p粘贴):
x删除选中文本; 5x,连续删除5个字符;
d需要与移动命令联合使用:
dw删除当前位置到当前单词末尾的字符;db删除当前位置前一位到单词首位的字符;d0删除当前上一位到行首;
dl删除当前位置往后第一个字符;dk删除当前位置到下一行垂直方向相同的位置;
d}删除当前位置到段落结尾的位置
d6G删除当前行到第6行的全部数据;
d'a删除当前行到标记a之间的所有代码;
也可以删除选中内容,与x功能一样
dd删除行;ndd向下连续删除n行;
D删除从光标到行尾

3.复制粘贴
y,结合移动命令使用:
yw
yy,复制当前行;nyy连续向下复制n行;
p,粘贴
vi中的剪切板和系统中的剪切板不是同一个;如果想在其他软件复制的内容粘贴到vi中,需要进入编辑模式才可以。
4.替换
用于修改幅度比较小的情况,不用进入编辑模式
r,替换当前位置字符
R,依次从当前位置开始向后替换字符
5.缩排和重复执行
>>向右缩进
<<向左缩进
. 重复上次的命令
在可视模式下,只需要按一个>或者<即可实现缩进。

四、撤销和重复
1.撤销:u返回上一步操作(undo),可以一直回撤到文件打开时候的状态;
2.重复:ctrl+r ,(redo)重做命令,恢复刚才撤销的命令。
五、查找替换
1.查找
:/查找内容,查找/后面的内容
n,向下查找
N,向上查找
2.查找2:
*,向下查找当前光标所在位置字符串
#,向上查找当前光标所在位置字符串
3.取消高亮:/随便查找文本中没有的,高亮就取消了

4.替换:----末行模式----下输入: :%s/旧文本/新文本/g
5.可视区域替换:
v,进入可视模式,选中文本输入: :s/旧文本/新文本/g
6.确认替换:
如果把前面替换命令末尾的 g 改成 gc 在替换的时候,会有提示!推荐使用!
替换时出现以下选择:
y - yes 替换
n - no 不替换
a - all 替换所有
q - quit 退出替换
l - last 最后一个,并把光标移动到行首
^E 向下滚屏
^Y 向上滚屏
六、编辑

1.进入编辑模式:
i,在当前字母前插入文本。--常用
I,在行首插入文本。 --较常用
a,在当前字母后插入文本。
A,在当前行末插入文本。 --较常用
o,在当前行后面插入一空行。--常用
O,在当前行前面插入一空行。--常用

2.编辑命令和数字的连用:
在命令模式中:ni内容,按ESC退出,就会在当前位置输入10次内容
.可以重复上一次操作的内容
**注意**:一般情况下,在进入编辑模式之前不要按数字

3.利用可视化模块给多行代码增加注释
ctrl+v,进入垂直可视化模式
选中需要添加注释行
I,在第一行行首前输入#;注意:此时用i是进入不了编辑模式的,进入之后,只能在行首添加任意内容,行中间是不能的。
按ESC退出即可
七、分屏模式--末行模式
1.文件操作:打开文件、保存、新建、另存为
保存: :w命令,后续操作需要先保存好当前文件。
打开/查看: :e 文件名,即可打开文件; e . 可以查看当前文件目录中的文件(注意:e后有空格)
新建: :n 文件名,可以新建文件
另存为: :w 文件名,将当前编辑的文件内容存入另外一个文件,但是并不会切换文件

2.分屏命令
横向分屏: :sp 文件名
纵向分屏: :vsp 文件名

3.分屏之间切换:先ctrl+w(没用一次命令前都必须要按一下ctrl+w)
w,切换到下一个窗口
r,互换窗口
c,关闭当前窗口,但不能关闭最后一个窗口
q,退出当前窗口,如果是最后一个窗口,就关闭vi
o,关闭其他窗口

*****************************************************************************************************
2.安装tensorflow:
1).安装python包管理工具pip:进入终端后,输入命令:sudo apt-get install python-dev python-pip
2).进tensorflow官网:www.tflearn.org

4.安装flash,打开终端使用如下命令:
1).sudo apt-get update,后面要输入密码
2).sudo apt-get install flashplugin-installer

5.ubuntu root密码更改:
1).ubuntu默认root密码不可用,需要用普通用户登录后设置
2).输入sudo passwd root,
3).提示输入当前用户的密码,成功后再输入两次密码
4).这个后输入的就是你设置的root密码
6.有道词典安装:
1).下载安装包,网址是http://cidian.youdao.com/index-linux.html ,博主下载的是64位的;

2).点击安装包进行安装;或者进入安装包的文件夹,进行安装,
命令如下:

sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb

a.可能会出现些问题,安装不成功,报错。这时的解决办法是执行下面指令:

sudo apt-get -f dist-upgrade

b.再来重新安装,

sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb

3).等待安装成功,运行:youdao-dict
7.应用商店中安装出错解决方法
先运行snap changes,看哪个程序在doing
运行sudo snap abort 5,5为doing前的编号,根据具体的来改变
8.修改hosts
hosts在根目录etc下面
先打开hosts,修改文本,另存为桌面。或者使用命令:sudo gedit /etc/hosts,效果一样
再在桌面目录中使用命令sudo cp hosts /etc/,将hosts覆盖即可
9.安装及卸载:
解压后,将文件夹根目录下opt用于存放第三方软件安装目录。 .sh文件就是可以执行的程序文件。执行方式:切换到bin目录: ./pycharm.sh
程序启动后,会在家目录下生成一个隐藏文件
会在/usr/share/applications下面生成一个对应文件,这是快捷方式,所以卸载软件需要删除3个文件

10.Tensorflow安装:
先安装pip:sudo apt-get install python-pip python-dev ,sudo apt-get update,
再安装:sudo pip3 install tensorflow
卸载:sudo pip3 uninstall tensorflow
11.pygame安装:sudo pip3 install pygame


12.ctrl+z(ctrl z)的使用
(1) CTRL Z停止进程并放入后台
(2) jobs 显示当前暂停的进程
(3) bg %N 使第N个任务在后台运行(%前有空格)
(4) fg %N 使第N个任务在前台运行

注:默认bg,fg不带%N时表示对最后一个进程操作

原文地址:https://www.cnblogs.com/jaysonteng/p/12546623.html