linux 入门

安装过程

 

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

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

 

你可能感兴趣的:(linux)