10.grep是linux系统中一个强大的文本搜索工具。主要用途在于搜索查找的关键指令、数据、正则表达式等。
11.打开软键盘:Ctrl+Alt+T,输入onboard;如果没有装这个软键盘程序,直接去图形库下载:onboard sudo apt-get install onboard,或者sudo yum install onboard。
12.Linux允许将命令执行结果重定向到一个文件;echo(重复,回声)重定向的概念,主要用于在终端中显示的内容“输出/追加”到我们指定的文件夹中。
13.linux允许将一个命令的输出可以通过管道作为另一个命令的输入。| 左边为输出,邮编为输入,即左写右读。
14.linux中物理网卡一般用ensxx表示,虚拟机中的还是ethx表示,学过CCNA的都应该清楚,ping这个原理取自潜水艇声纳探测,ping就是声纳的声音;和windows区别一下:windows查看网卡是ipconfig,linux是ifconfig,一定要注意;另外终止ping命令和windows、以unix为底层的设备如交换机、路由器等设备命令一样,大多数用Ctrl+C。
15.ssh,就是secure shell,都经常用,区别和ftp、pop和telnet的明文弱口令特点,加密提高安全,压缩数据提升传输速度;另外会用连接的方法就行,linux或者unix可以直接在terminal中使用,windows不能直接用ssh命令,需要辅助的程序才可以,需要安装putty、xshell或者CRT等软件可以,原始是核不同,壳就不能通用;针对权限不够的情况,前面加sudo(超级权限)命令即可,eg:sudo shutdown -r now。
16.本地物理机连接虚拟机上linux或者unix,这里就需要了解连接的原理,很多人都只会看别人敲什么命令之类的;排查一下原因才可以,首先保证两个系统连接要有pipe这个概念,也就是壳到核再到核,再到壳,那么先要确认两边系统都是开启的,ssh都是开启的,然后再确认连接的状态是否被其他系统软件阻止,典型的就是软件防火墙(直接看网上的也行);sudo apt-get install ssh;另外连接ssh后会出现.ssh文件,这个文件就是ssh连接时候的确认记录,下次连接就不需要端口号设置,也不需要再次确认,直接输入密码连接。
17.理解用户、用户组、其他用户的概念和关系,cat显示文件信息,gedit打开文件。
18.修改用户/组 对文件/目录的权限,提升权限用chmod +rwx完成,这个和window的图形化界面有一点区别。
19.标准用户就是只能在自己的系统目录下活动,不能修改系统设置相关权限,但是超级用户root可以;su即substitute user的缩写,sudo就是以root身份执行命令,第一次使用速度必须输入命令,5分钟之内不需要再次输入密码。
".cat 文件名
cat 123.txt" concatenate连接,合并 查看文件内容、创建文件、合并文件、追加文件内容等功能
"more 文件名
more 123.txt" more "分屏显示文件内容
分屏显示大的文件内容,想看更多按spacebar就行,小文件还是一屏显示"
grep 搜索文本 文件名 grep 搜索文本文件内容
cat -b 123.txt 对非空输出行编号
cat -n 123.txt 对输出的所有行编号
"more 123.txt
接spacebar" 显示下一屏
enter 下一行
b back 回归一屏
f front 前滚一屏
q quit 退出
grep -n fa 123.txt 显示匹配行及行号
grep -v fa 123.txt 显示不包含匹配文本的所有行
grep -i fa 123.txt 忽略大小写
grep -vn fa 123.txt 显示匹配行及行号,也显示没有内容的行号,可以方便对应之前的cat -n 123.txt
grep -i "hello python" 123.txt 正则表达式
grep -in "hello python" 123.txt 正则表达式在哪一行
^a 行首,搜寻以a开头的行
ke$ 行尾,搜寻以ke结束的行
grep ^fa 123.txt 显示以fa开头的内容
grep fa$ 123.txt 显示以fa结尾的内容
grep -n ^fa 123.txt 显示以fa开头的内容,带行号。
grep -n fa$ 123.txt 显示以fa结尾的内容,带行号。
echo Hello Python >a 将Hello Python输出到a的文件中
ls -lh >a 讲目录的详细信息输出到啊的文件中,但是会覆盖上一个重定向到a文件中的内容。
echo hello python >>a 追加hello python到刚才的a文件中
tree >>a tree追加到a文件中
ls -lh |more 分屏显示ls -lh命令输出的内容
ls -lha ~|grep -n fa 分屏显示ls -lh命令输出的内容中的包含fa的内容并输出行号
远程管理常用命令
shutdown 选项(关机/重启) 时间 不指定选项和时间默认为1分钟后开始关机
shutdown -r 重启
shutdown now 现在就关机
shutdown -c 取消之前的关机命令
ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
ping ip地址 检测目标ip是否连接正常
ifconfig | grep inet 筛选ifconfig信息里面的inet内容
SSH
ssh [-p port] [email protected] "user:远程机器上的用户名,如果不指定默认为当前用户名
remote:远程机器的地址,可以是IP/域名,也可以是别名
port是SSH Server监听的端口,如果不指定,默认为22"
ssh -p 22 [email protected] 连接虚拟机上的ubuntu主机
scp secure copy linux下常用的远程拷贝文件的命令
scp [-P port] [email protected] 和ssh命令基本类似,要指定端口就用-P,不指定端口就不用写 远程拷贝的命令
scp -P port 45.py [email protected]:Desktop/45.py 把当前目录的45.py复制到远程IP地址的设备上的桌面45.py文件中
scp -P port [email protected]:Desktop/45.py 45.py 把远程设备桌面上的45.py复制到本地45.py文件中
加-r可以传送文件夹
scp -r demo [email protected]:Desktop 把当前目录下的demo复制到远程家目录下的Desktop中
scp -r [email protected]:Desktop demo 把远程家目录下的Desktop复制到当前目录的demo文件夹中
eg:scp -P 22 -r [email protected]:Desktop demo
ssh -p 22 [email protected] 需要输入登录密码
ssh-keygen ssh-keygeneral 生成ssh加密的秘钥文件,这个文件在.ssh文件的家目录下,直接按enter就行,为了安全起见,也可以重新命名等。
ssh-copy-id tom 192.168.222.128 拷贝tom电脑用户的秘钥文件到连接的电脑用户名的.ssh文件夹下面,下次ssh连接就不需要输入密码,即信任用户。
gedit 文件名 打开所在目录下的文件
cd .ssh 设置远程电脑的配置信息,实现免密登录
touch config
gedit config
"Host tom
HostName 192.168.222.128
User tom
port 22"
scp -r ~/Desktop tom:Desktop/demo 远程电脑桌面文件夹全部复制到tom电脑的桌面demo文件夹里面
ls -l
"文件 d目录 rwx read write eXecute
-rw-rw-r-- 1 tom tom 0 Jan 21 18:02 123 (copy).txt
-rw-rw-r-- 1 tom tom 41 Jan 27 12:39 123.txt
-rw-rw-r-- 1 tom tom 0 Jan 21 18:02 123.txt~
-rw-rw-r-- 1 tom tom 0 Jan 21 21:15 333.txt
-rw-rw-r-- 1 tom tom 0 Jan 21 21:16 366.txt
-rw-rw-r-- 1 tom tom 0 Jan 28 14:05 56.py
-rw-rw-r-- 1 tom tom 808 Jan 27 14:06 a
drwxrwxr-x 3 tom tom 4096 Jan 21 18:06 a1
drwxrwxr-x 2 tom tom 4096 Jan 21 18:05 b
drwxrwxr-x 2 tom tom 4096 Jan 21 20:43 n
drwxrwxr-x 3 tom tom 4096 Jan 21 21:27 test
" "x是eXecute可执行
" "第一个rwx是指用户tom的权限,第二个rwx是指用户组tom的权限,第三个rwx是其他用户的权限
数字1/1/1/1/1/1/1/1/13/2/2/3表示硬连接数,其实意思就是有多少种方式可以访问当前的目录/文件。"
硬连接数 "文件只能一个硬连接数-绝对路径
文件夹可以有多个硬连接数-绝对路径+cd .+cd ..+(不同的子文件夹目录下面)cd ..
其实就是用绝对路径+同层目录+不同子目录往上一级目录的路径"
chmod change mode 更改用户/组 对 目录/文件的权限
chmod +/-rwx 文件/目录名 这些命令只能在linux分区下执行,可以理解为只能在自己的用户下的系统分区下,目录和文件的使用命令一样 增加或减少权限
"eg:chmod -rw 01.py
chmod +r 01.py
chmod +x 01.py" "减少01.py文件的读和写的权限
增加01.py可读的权限
增加01.py可执行的权限"
./01.py 表示执行当前目录下的01.py文件
组管理终端命令 终端命令都需要通过sudo命令执行 组信息保存在/etc/group 文件中
groupadd 组名 添加组
groupdel 组名 删除组
cat etc/group 组名 确认组信息
chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组
"eg:sudo groupadd dev
sudo groupdel dev" develop开发 增加dev组,可以用cat /etc/group查看
实验:mkdir python,sudo groupadd dev /Desktop,sudo chgrp -R dev python/
原文地址:http://blog.51cto.com/tudoubowen10/2068743