ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件
echo "hello." //在终端中打印内容
echo "hello.">a.txt //创建一个a.txt的文件,并将“hello.”写入a.txt
echo "hi.">>a.txt //将“hi.”追加在a.txt内容的最后
cat 查看文件内容
cp 拷贝
cp 源文件pathname 目标文件pathname
-r 拷贝文件夹
-f 强制拷贝
ps:在实际操作时,一般都是cp -f拷贝文件
mv 移动或重命名
mv 源文件pathname 目标文件pathname
重命名:mv 源文件名 目标文件名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
rmdir 删除空目录
find 在文件系统中搜索某文件
fine 路径 -name "文件名"
wc 统计文本中行数、字数、字符数
grep 查找指定字符串匹配的文件或者文件中的字符串
-n 查找结果中显示行号
-r 要递归查找
grep -nr ""
tree 树形结构显示目录,需要安装tree包
pwd 打印出当前的绝对路径
ln 创建链接文件
ln -s 源文件名 符号链接文件名(软链接)
ln 源文件名 链接文件文件名(硬链接)
ps:软链接就相当于我们Windows中的快捷方式,而硬链接实际上和源文件在硬盘中是同一个东西,只要这个文件还有其他的硬链接存在,那么这个文件就不会被真正的删除。
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
man 查询man手册,获得帮助信息
man 1 ls 1表示查询的是linux命令
man 2 xxx 2表示查询的是linux api
man 3 xxx 3表示查询的是C库函数
注意:在man手册中查询时,退出按Q键(Q就是quit的缩写)
ctrl+alt+F1 命令行全屏模式
系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态
du 查看目录大小
du -h /home //带有单位显示目录信息
df 查看磁盘大小
df -h //带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
clear 清屏
alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit
ps:如果我们想要我们定义的别名永久生效,我们可以修改环境配置文件.bashrc,然后保存即可,这个需要在系统重启后生效,如果我们想要立即生效,我们可以用source /.bashrc来生效文件(source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
kill 杀死进程
可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
mount 挂载磁盘到文件系统中
mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt 挂载
umount 卸载挂载的磁盘
umount /mnt 卸载
磁盘空间相关
df -h 显示已挂载的分区列表
du -h 列出文件或文件夹的大小
du -h 文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式。不像 ls -l列出的都是以字节为单位。
用户管理
useradd user1 添加一个名为user1的用户
userdel user1 删除一个名为user1的用户
passwd user1 为名为user的用户设置密码
adduser user1 添加一个名为user1的用户,同时创建宿主目录,用户shell等。
ps:adduser和useradd的区别:
adduser是一个脚本,而useradd是一个二进制应用程序。adduser创建用户时比较麻烦,但是一次设定完所有的信息;而useradd设置时简单,但是需要额外的设置宿主目录,密码那些信息。
打包压缩相关命令
tar: 打包压缩
-c 打包文件
-x 解压文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
init
0 关机
6 重启
Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
Linux软件包管理
dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件
注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
sudo apt-get upgrade
将.rpm文件转为.deb文件
.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
sudo alien abc.rpm
网络配置命令
ifconfig eth0 192.168.1.13 设置IP地址
ifconfig eth0 up 启动网卡
ifconfig eth0 down 禁用网卡
ifup eth0 启动网卡
ifdown eth0 禁用网卡
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置IP和子网掩码
用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可以使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件权限管理
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r–
-rw-rw-r–一共十个字符,分成四段。
第一个字符
“-”表示普通文件;
d 表示文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件 pipe
第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6
第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6
第八九十个字符“r–”表示其他用户权限。 所以用数值表示为2
所以操作此文件的权限用数值表示为662
更改权限
sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
例如:有一个文件filename,权限为“-rw-r—-x” ,将权限值改为”-rwxrw-r-x”,用数值表示为765
sudo chmod u+x g+w o+r filename
上面的例子可以用数值表示
sudo chmod 765 filename
linux命令行中一些符号的含义
. 代表当前目录
.. 代表上一层目录,当前目录的父目录
- 代表前一个目录,我刚才从哪个目录cd过来
~ 代表当前用户的宿主目录
/ 代表根目录
$ 普通用户的命令行提示符
# root用户的命令行提示符
* 万能匹配符