linux 入门
安装过程 1.下载putty下面主要是vps 或者云服务的场景,所以先下个putty。如果是本机安装,那么会有个先装 linux 还是 先装windows 的问题:由于安装windows时,windows的引导会覆盖掉Ubuntu 的 grub,所以应该先装windows,后装Ubuntu。2.登录和问题检测密钥:putty 使用pem文件登陆a.用PUTTYG...
安装过程
1.下载putty
下面主要是vps 或者云服务的场景,所以先下个putty。
如果是本机安装,那么会有个先装 linux 还是 先装windows 的问题:
由于安装windows时,windows的引导会覆盖掉Ubuntu 的 grub,所以应该先装windows,后装Ubuntu。
2.登录和问题检测
密钥:
putty 使用pem文件登陆
a.用PUTTYGEN转换文件格式pem->ppk
b.登陆时,Connection->SSH->Auth->Browse...
网络:
我遇到的问题:ipv6不能登录。
由于linux 上ping自己没问题,我在家用windows却ping不通,所以估计是网络问题。
liunx 中 有一个叫ping6的命令,貌似用法同ping
windows中 ping -6 [ipv6 address],同理,参数-4就是强制ipv4地址
3.由于登陆的是root,所以需要创建新用户,安装sudo
useradd [username]
useradd -m [username] # -m 创建home目录
adduser [username]
# adduser 会自动做一些事情
# 1.启动shell会自动配置为/bin/bash ,而 useradd 的启动shell 为/bin/sh
# 2.自动提示输入并确认代码
# 3.自动提示输入一些其他信息
passwd [username]#例如修改root密码:passwd root
apt-get install sudo
usermod -aG sudo,adm [username]
关于主机名称:
# 查看
hostname
cat /etc/hostname
# 修改
hostname [newname]
4.软件源
cat /etc/apt/souces.list
软件源格式:
deb [软件源地址] [发行版名字] [包类型]
包类型:
main | 官方支持的免费和开源软件 |
universe | 社区维护的免费和开源软件 |
restricted | 设备的专有驱动 |
multiverse | 有版权和合法性问题的软件 |
发行版名字可能会有后缀:(只见过security 和 updates)
重要安全更新 | security |
推荐的更新 | updates |
提前释放出的更新 | proposed |
不支持的更新 | backports |
列两个国内源的配置说明(这种一般的mirrors站点的说明文档中都有写的):
5.安装必要的工具
参考:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html
sudo su
apt-get update
apt-get install gcc
apt-get install g++
apt-get install vim
apt-get install make
apt-get install openjdk-7-jdk
apt-get install openjdk-7-jre
# 还有一个命令是,
apt-get install build-essential
6. 用putty传送文件
window->linux
>pscp -P [端口号] redis-2.8.19.tar.gz [username]@[服务器地址]:[目标路径]
-P是端口,注意P大写
可以参考:http://tech.ddvip.com/2014-04/1396960558209656.html
我觉得ftp应该也可以用。。。
* PuTTY (Telnet 和 SSH 客户端)
* PSCP (SCP 客户端, 命令行下通过 SSH 拷贝文件,类似于 Unix/Linux 下的 scp 命令)
* PSFTP (SFTP 的命令行客户端,类似于 FTP 的文件传输,只不过使用的是 SSH 的 22 端口,
而非 FTP 的 21 端口,类似于 Unix/Linux 下的 sftp 命令)
* PuTTYtel (仅仅是一个 Telnet 客户端)
* Plink (命令行工具,执行远程服务器上的命令)
* Pageant (PuTTY、PSCP、Plink 的 SSH 认证代理,用这个可以不用每次都输入口令了)
* PuTTYgen (用来生成 RSA 和 DSA 密钥的工具).
一个关于plink,psftp的介绍:
http://www.zzbaike.com/wiki/PuTTY/PSCP%E3%80%81PSFTP%E4%BB%8B%E7%BB%8D%E5%8F%8A%E4%BD%BF%E7%94%A8
完整的putty的介绍:
http://blog.csdn.net/zhongjiekangping/article/details/5861971
7.putty锁屏和开屏
ctrl+s(习惯了用ctrl+s保存文件,然后就中招了。。。)
ctrl+q
8.解压文件
# 解压
tar -zxvf [filename]
# 压缩, -p保留权限信息
tar -zcvf [xxx.tar.gz] [path]
9.递归更改目录权限和拥有者
sudo chmod 775 redis/ -R
sudo chown -R [用户名] [文件名]
# 同时文件的改变用户和用户组:
sudo chown [用户名]:[用户组] [文件名]
# 只改变用户组:
chgrp [用户组] [文件名]
10.shell/bash 脚本
#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
一些预定义的变量
$$ #当前进程的进程号
$0,$1,$2...#进程的参数
11.查看当前操作系统
cat /proc/version
uname -a # 可以看到内核信息
12.硬盘,mem,cpu,其他设备
# 硬盘
df -h # -h,容量大小显示为human可读格式,还有个长得很像的命令是 du -h 可以查看目录的大小
# mem
cat /proc/meminfo
free -m
/sys/devices/system/memory
# cpu
cat /proc/cpuinfo
ls /sys/devices/system/cpu
# top然后按1查看每个cpu核的使用情况
# 另外还有一个命令vmstat
# 设备
ls -l /dev #在该显示文件大小的列,显示设备号
cat /proc/devices #只显示主设备号,设备分为"字符设备"和"块设备"
dmesg #device message
13.网络
ifconfig#似乎正在被ip取代
ip
ethtool -i eth0 #查看网卡
netstat -anp #端口占用
lsof -i
其他
1.图形界面切换
ctrl+alt+[F1-F6] 切换到CLI,具体是是哪个键可能不同系统不同
ctrl+alt+F7 切回GUI
2.printf 命令似乎只是把printf()函数的括号换成空格
printf “%d\n” 123
3.man 可以指定类别,比如,shell命令的类别是1,c函数的类别是3,系统调用是类别2
man 1 printf
4.
ctrl+c 中断命令
ctrl+z 暂停命令
ctrl+d 结束输入,eof
5.命令别名
alias [xxx]=[command]
unalias [xxx]
which is [xxx] 好像不同系统结果会不一样
另外一个常用的命令是type
$ type [xxx]
6.whatis没有空格 which is有空格,这个其实tab一下就可以了
7.sbin=system bin?
8.$PATH
echo $PATH
export PATH=[XXX]:$PATH
9.启动项
/etc/rcX.d(在/etc/init/rc-systinit.conf中会有行env $DEFAULT_RUNLEVEL = X,X是几,就执行那个rcX.d)
一般rcX.d中的文件都是连接到 /etc/init.d/ 的
手动更新启动项,ubuntu下使用命令,update-rc.d
图形界面,/etc/xdg/autostart
10.解压命令
tar: 一般tar -zxvf, f file,v verbose显示解压过程, x 解压,
gzip,gunzip:.gz后缀文件
cpio: cpio -i <xxx.cpio
Z: compress uncompress
gz: gzip gunzip
bz2: bzip2 bunzip2
xz: xz unxz
zip: zip unzip
rar: unrar(传说rar的压缩算法是不公开的,只有解压缩算法是公开的)
上面的程序只压缩一个文件,所以需要tar 把文件夹压缩为压缩包
deb的压缩格式是ar,可能用到的命令(http://blog.csdn.net/yygydjkthh/article/details/27106943)
apt-get download [package_name]
ar -x [package_name.deb]
11.
/boot
• vmlinuz 内核
• initrd 启动根⽂文件系统,格式为cpio.gz
• config 内核编译参数
• System.map 内核符号表
• grub/ 引导器
12.
cp /boot/initrd-xxxxxx /tmp/initrd.cpio.gz
gunzip /tmp/initrd.cpio.gz
mkdir /tmp/initrd
cd /tmp/initrd
cpio -i < ../initrd.cpio
13.apt-get install 的包一般会在 /var/cache/apt/archives 找到相应的deb文件
14.文件类型的说明
ls -l 结果每一行第一个字母,文件颜色:
粉色的socket文件
青色的link文件
黄色的pipe
黄色的character设备
黄色的block设备
蓝色的directory
(绿色的-可执行文件,红色的-压缩文件,白色的-普通文件)
特殊文件和 lsattr chattr参考:
http://blog.csdn.net/onebigday/article/details/5602592
setuid,setgid,粘着位参考:
http://blog.csdn.net/onebigday/article/details/5602590
更多推荐
所有评论(0)