linux 基础命令

root 当前登录用户
linux中管理员用户 root
localhost主机名
~ 当前所在位置
root /root
普通用户 /home/hank
/ 根目录
# 管理员用户的提示符
$ 普通用户提示符

-a 简化
--all 完整

命令补全 

cd; cd ~:回到家目录

cd -:回到刚刚的目录

cd /:跟目录

显示当前所在的目录:pwd [-p:连结档?]

建新目录:mkdir -p test1/test2:帮助建立多层目录 p:会自动建立上层目录

删空目录:rmdir -p test1/test2: p:上层目录为空,会一并删除 

  只能删除空目录,很少用,一般用rm

ls
  -a 显示隐藏文件
  -l 显示详细信息

  -l 详细信息 简写 ll
    权限10位
      1:文件类型
        - 文件
        d 目录
        l 软连接
  所有组 所属组 其他人
  -h 人类能看懂的大小 
  可以加参数
  -a 显示所有的,包含隐藏文件
  -d 查看目录本身,而不是目录的内容 directory
  -i 显示inode

cp

  -r 复制目录

  路径有文件名,则为改名复制

  复制到当前目录 cp target .

最佳实践:cp -a

rm

  -r 删除目录

  -f 强制 force

最佳实践:rm -rf name

     删了不能回复

mv

  剪切

  目录和文件 都不需要 -r

  源文件和目标文件在同一目录,是改名功能。

touch a.js 

  创建空文件

basename:文件名

dirname:目录名

cat:-b,列出行号    -n:空白行也有行号

vim:模式:命令,插入,编辑;用ESC/i/:切换

命令模式下::q 退出; :q! 强制退出; :wq 保存退出; :set number 显示行号

清空文件夹的内容 rm -rf *(在该文件夹下)

linux下修改文件名 mv name1 name2

linux下解压rar rar x panda.rar

linux下安装方式有yum和apt-get,yum是过时的,现在用apt-get比较方便

linux上传和下载  rz:上传;sz:下载。

查看端口占用情况:http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

man:info比man更详细,他除了有每一个选项的解释之外还有例子、但是平时用的最多的是man,比较实用,Info有时候有点太繁琐了; --help更简单

获取命令的帮助
退出:q
例子:man ls
查看有多少同名的手册:man -f ls
查看特定的手册:man 1 ls,1 是手册的名字

mac fn+<- 行头;fn+->行尾

tab

未输入状态下,两次tab,列出所有可用命令
已输入部分命令名或文件名,按 Tab 进行自动补全

 cd

绝对路径和相对路径:假设当前家目录有etc 文件夹(绝对路径应为 /home/username/etc),如果直接 cd etc 则进入此文件夹,但若是 cd /etc/ 则是进入系统 etc 
.当前目录;..上级目录

 ls

a:隐藏文件
l:详细信息
h:可读大小
.开头的都是隐藏文件

 mkdir:mkdir -p folder/subfolder ### -p 参数为当父目录存在时忽略,若不存在则建立,用此参数可建立多级文件夹

rm

rm -i filename   ### 删除 filename 前提示,若多个文件则每次提示
rm -rf folder/subfolder/  ### 递归删除 subfolder 下所有文件及文件夹,包括 subfolder 自身
rm -d folder     ###  删除空文件夹
i:增加提示信息

 cp

cp folder/*  dest         ### 将 folder 下所有文件(不含子文件夹中的文件)复制到 dest
cp -r folder  dest        ### 将 folder 下所有文件(包含子文件夹中的所有文件)复制到 dest

 mv

mv    /usr/lib/*    /001   是将 /usr/lib/下所有的东西移到/001/中。
mv    /usr/lib/    /001   是将lib和其内部的所有东西移到/001/中。 此后,/usr里不再有lib; /001里有lib/及其原有的东西。
mv source  folder        ### 将 source 移动到 folder 下,完成后则为  folder/source
mv -i source folder      ### 在移动时,若文件已存在则提示 **是否覆盖** 
mv source dest           ### 在 dest 不为目录的前提下,重命名 source 为 dest

 cat

n:显示行号

more

more 与 cat 相似,都可以查看文件内容,所不同的是,当一个文档太长时, cat 只能展示最后布满屏幕的内容,前面的内容是不可见的。这时候可用 more 逐行显示内容。
more +100 /etc/locale.gen       ### 从 100 行开始显示

less:less 支持上下滚动查看内容,而 more 只支持逐行显示

nano 是一个简单实用的文本编辑器, vim更好用些。

grep:返回匹配的项目

grep as my.cnf:返回my.cnf中包含as的行

 chown:改变文件的所有者

chmod

永远更改一个文件的权限,主要有 读取 、 写入 、 执行 ,三种权限,其中 所有者 、 用户组 、 其他 各占三个
chmod +x filename        ### 为 user ,group ,others 添加执行权限
chmod -x filename        ### 取消 user , group ,others 的执行权限
chmod +w filename        ### 为 user 添加写入权限
chmod ugo=rwx filename   ### 设置 user ,group ,others 具有 读取、写入、执行权限
chmod ug=rw filename     ### 设置 user ,group 添加 读取、写入权限
chmod ugo=--- filename   ### 取消所有权限

### '$' 和 '#' 的区别在于 '$' 普通用户即可执行
### 而 '#' 为 root 用户才可执行,或普通用户使用 'sudo'

 find:用于查找文件,但更为强大,支持正则,并且可将查找结果传递到其他命令

$ find . -name PATTERN    ### 从当前目录查找符合 PATTERN 的文件
$ find /home -name PATTERN -exec ls -l {} ;  # 从 /home 文件查找所有符合 PATTERN 的文件,并交由 ls 输出详细信息

ubuntu apt-get 是包管理器 

vim 到一个路径  

:quit 
:q

创建与删除

创建文件用touch    例如:touch 1.txt
删除文件用rm       例如:rm -f 1.txt
创建目录用mkdir    例如:mkdir daiyuanqi
删除空目录用rmdir  例如:rmdir daiyuanqi (有东西的目录不能删)
删除装有东西的目录就用rm -rf  例如rm -rf XXX

还可以换成国内的软件源 

tar:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

zip,rar在windows和linux都可以用,但是在linux下用的比较少;

打包:将很多文件合成一个总的文件;

压缩:将总的文件压缩。因为linux很多压缩方法 只能压缩一个文件

打包,压缩,打包和压缩

打包:tar -cf all.tar *.jpg
压缩gzip:gzip -d all.gz
解压gunzip: gunzip all.gz
压缩bzip2: bzip2 -d all.bz2
解压bunzip2: bunzip2 all.bz2
打包压缩:tar -czf all.tar.gz *.jpg  也可以all.tgz
打包压缩:tar -czf all.tar.bz2 *.jpg 

root 权限: su

切换回hdpc: su hdpc

ln -s /var/node/bin/node /usr/local/bin/node
ln -s /var/node/bin/npm /usr/local/bin/npm

echo $PATH 查看单个环境变量
env 查看所有的环境变量

=======在linux上安装nodejs===========

centos
包管理工具 yum
yum install node 没法安装想要的版本
yum remove node 卸载

ubuntu
包管理工具 apt-get
apt-get install node node命令不好使,nodejs命令可以用

源码(node-v0.12.0.tar.gz),需要自己手动编译
1、yum -y install make gcc gcc-c++ 有可能需要
2、wget -c http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz 或者从网上下载
3、tar -zxvf node-v0.8.14.tar.gz
4、mv node-v0.8.14.tar.gz node 重命名
5、cd node
6、./configure
7、make && make install

在服务器上访问网站
curl http://localhost:3000


编译后的文件(node-v0.12.0-linux-x64.tar.gz)
1、tar -zxvf node-v0.8.14.tar.gz
2、mv node-v0.8.14.tar.gz node 重命名
3、ln -s /usr/local/nodejs/bin/node /usr/local/bin 第一个为nodejs安装的路径
4、ln -s /usr/local/nodejs/bin/npm /usr/local/bin 注意路径 rm -rf "name"
5、设置环境变量
vi /etc/profile 最下面添加
export NODE_HOME=/usr/local/node/0.10.24
export PATH=$NODE_HOME/bin:$PATH
:wq
source /etc/profile 使配置生效

原文地址:https://www.cnblogs.com/wang-jing/p/4237586.html