Linux常用命令2
一、系统管理
1、查看日历:cal
cal # 命令用于查看当前日历,
cal -y 2008 # 查看2008整年日历
2、显示或设置时间:data
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]] +format # CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。 # 如: date 010203042016.55。
显示时间格式(date '+%y,%m,%d,%H,%M,%S'):
format格式 | 含义 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
修改当前时间:date [MMDDhhmm[[CC]YY][.ss]]
- MM: 月份
- DD:几号
- hh: 小时
- mm: 分钟
- YY: 两位年份
- CCYY: 四位年份
- .ss: 秒钟
Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作频率进行的计时;
硬件时钟:hwclock: 显示硬件时钟
-s, --hctosys # 从硬件时钟设置系统时间
-w, --systohc # 从当前系统时间设置硬件时钟
3、查看进程信息:ps
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
选项 | 含义 |
---|---|
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
-w | 显示加宽,以便显示更多的信息 |
-r | 只显示正在运行的进程 |
4、动态显示进程:top,htop
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
按键 | 含义 |
---|---|
M | 根据内存使用量来排序 |
P | 根据CPU占有率来排序 |
T | 根据进程运行时间的长短来排序 |
U | 可以根据后面输入的用户名来筛选进程 |
K | 可以根据后面输入的PID来杀死进程。 |
q | 退出 |
h | 获得帮助 |
5、终止进程:kill
kill命令指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
kill 9133 :9133 为应用程序所对应的进程号
有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束:
6、关机重启:reboot、shutdown、init
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后自动关机 |
init 0 | 关机 |
init 6 | 重启 |
7、检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
选项 | 含义 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘空间使用情况 |
-T | 显示文件系统 |
8、查看目录所占磁盘空间:du
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下: du [选项] 目录或文件名
选项 | 含义 |
---|---|
-a | 递归显示指定目录中各文件和子目录中文件占用的数据块 |
-s | 显示指定文件或目录占用的数据块 |
-b | 以字节为单位显示磁盘占用情况 |
-l | 计算所有文件大小,对硬链接文件计算多次 |
-h | 显示单位 |
9、查看或配置网卡信息:ifconfig
10、测试远程主机连通性:ping
二、用户、权限管理(一般用不到)
1、查看当前用户:whoami
whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。
2、查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
常用选项:
选项 | 含义 |
---|---|
-m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
-q或--count | 只显示用户的登录账号和登录用户的数量 |
-u或--heading | 显示列标题 |
3、退出登录账户: exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
4、添加用户账号:useradd
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下: useradd [参数] 新建用户账号
参数 | 含义 |
---|---|
-d | 指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录 |
-m | 自动建立目录 |
-g | 指定组名称 |
相关说明:
- Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
- 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
- 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
- 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
命令 | 含义 |
---|---|
useradd -d /home/abc abc -m | 创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组 |
useradd -d /home/a a -g test -m | 创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组 |
cat /etc/passwd | 查看系统当前用户 |
5、设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
6、删除用户:userdel
命令 | 含义 |
---|---|
userdel abc(用户名) | 删除abc用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) | 删除用户,同时删除用户的主目录 |
<7>切换用户:su
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。
命令 | 含义 |
---|---|
su | 切换到root用户 |
su root | 切换到root用户 |
su - | 切换到root用户,同时切换目录到/root |
su - root | 切换到root用户,同时切换目录到/root |
su 普通用户 | 切换到普通用户 |
su - 普通用户 | 切换到普通用户,同时切换普通用户所在的目录 |
Ubuntu下切换到root的简单命令:
8、查看有哪些用户组
方法一:
cat /etc/group
方法二:
groupmod +三次tab键
9、添加、删除组账号:groupadd、groupdel
groupadd 新建组账号 groupdel 删除组账号 cat /etc/group 查看用户组
10、修改用户所在组:usermod
使用方法:usermod -g 用户组 用户名
11、查看用户在哪些组
groups 用户名
12、为创建的普通用户添加sudo权限
新创建的用户,默认不能sudo,需要进行一下操作
sudo usermod -a -G adm 用户名 sudo usermod -a -G sudo 用户名
13、修改文件权限:chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
a)字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[ +-= ] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
rwx | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
b)数字法:“rwx” 这些权限也可以用数字来代替
字母 | 说明 |
---|---|
r | 读取权限,数字代号为 "4" |
w | 写入权限,数字代号为 "2" |
x | 执行权限,数字代号为 "1" |
- | 不具任何权限,数字代号为 "0" |
如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename
chmod 751 file:
- 文件所有者:读、写、执行权限
- 同组用户:读、执行的权限
- 其它用户:执行的权限
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限
14、修改文件所有者:chown
15、修改文件所属组:chgrp
三、vim编辑器
vim常用命令
命令模式: yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p: 粘贴 dd:剪切 光标所在的这一行 2dd:剪切 光标所在行 向下 2行 D:从当前的光标开始剪切,一直到行末 d0:从当前的光标开始剪切,一直到行首 x:删除当前的光标,每次只会删除一个 X:删除当前光标前面的那个,每次只会删除一个 h左 j下 k上 l右 H:当前屏幕的上方 M:当前屏幕的中间 L:当前屏幕的下方 ctrl+f--->向下翻一页代码 ctrl+b--->向上翻一页代码 ctrl+d--->向下翻半页代码 ctrl+u--->向上翻半页代码 20G:快速的定位到第2行代码 G:快速的回到 整个代码的最后一行 gg:快速回到 整个代码的第1行 w:向后跳一个单词的长度,即调到下一个单词的开始出 b:向前跳一个单词的长度,即调到上一个单词的开始出 u:撤销刚刚的操作 ctrl+r:反撤销 选中一片代码 v:选中源码 V:选中行 >>:向右移动代码 # Tab <<:向左移动代码 .:重复执行上一次的命令 r:替换一个字符 R:替换光标以及后面的字符 shift+zz:相当于wq 末行模式: w:保存 q:退出 wq:保存并且推出 /:搜索 n:下一个符合条件的 N:上一个符合条件的

1 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 备份Ubuntu默认的源地址 2 3 sudo apt-get update 更新源 4 5 sudo apt-get install package 安装包 6 7 sudo apt-get remove package 删除包 8 9 sudo apt-cache search package 搜索软件包 10 11 sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等 12 13 sudo apt-get install package --reinstall 重新安装包 14 15 sudo apt-get -f install 修复安装 16 17 sudo apt-get remove package --purge 删除包,包括配置文件等 18 19 sudo apt-get build-dep package 安装相关的编译环境 20 21 sudo apt-get upgrade 更新已安装的包 22 23 sudo apt-get dist-upgrade 升级系统 24 25 sudo apt-cache depends package 了解使用该包依赖那些包 26 27 sudo apt-cache rdepends package 查看该包被哪些包依赖 28 29 sudo apt-get source package 下载该包的源代码 30 31 sudo apt-get clean && sudo apt-get autoclean 清理无用的包 32 33 sudo apt-get check 检查是否有损坏的依赖
构建-ftp服务器 构建-ssh和scp服务器 构建-samba服务器

1 构建-ftp服务器 2 3 构建-ssh和scp服务器 4 5 构建-samba服务器 6 分屏操作: 7 8 sp: 上下分屏,后可跟文件名 9 10 vsp: 左右分屏,后可跟文件名 11 12 Ctr+w+w: 在多个窗口切换 13 启动分屏: 14 15 1.使用大写O参数进行垂直分屏 16 17 $ vim -On file1 file2 ... 18 2.使用小写o参数进行水平分屏 19 20 $ vim -on file1 file2 ... 21 注: n是数字,表示分屏的数量,n要大于等于文件个数 22 23 关闭分屏 24 25 1.关闭当前窗口 26 27 ctrl+w c 28 2.关闭当前窗口,如果只剩最后一个,则退出vim 29 30 ctrl+w q 31 编辑中分屏 32 33 1.上下分割当前打开的文件 34 35 ctrl+w s 36 2.上下分割,并打开一个新的文件 37 38 :sp filename 39 3.左右分割当前打开的文件 40 41 ctrl+w v 42 4.左右分割,并打开一个新的文件 43 44 :vsp filename 45 分屏编辑中光标的移动 46 47 vi中的光标键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl+w 48 49 1.把光标移动到上边的屏 50 51 ctrl+w k 52 2.把光标移动到下边的屏 53 54 ctrl+w j 55 3.把光标移动到右边的屏 56 57 ctrl+w l 58 4.把光标移动到左边的屏 59 60 ctrl+w h 61 5.把光标移动到下一个的屏 62 63 ctrl+w w 64 移动分屏 65 66 1.向上移动 67 68 ctrl+w K 69 2.向下移动 70 71 ctrl+w J 72 3.向右移动 73 74 ctrl+w L 75 4.向左移动 76 77 ctrl+w H 78 屏幕尺寸 79 80 1.增加高度 81 82 ctrl+w + 83 2.减少高度 84 85 ctrl+w - 86 3.让所有屏的高度一致 87 88 ctrl+w = 89 4.左加宽度 90 91 ctrl+w > 92 5.右加宽度 93 94 ctrl+w < 95 6.右增加n宽 (如:n=30) 96 97 ctrl+w n < 98 vim打造IDE 99 100 简洁版IDE 101 102 C+p: 生成tags 103 C+]: 跳转到函数定义 104 C+t:从函数定义返回 105 106 C+o:在左侧打开文件列表 107 F4: 在右侧打开函数列表 108 109 C+n:补齐函数,向下翻 110 vimrc是vim的配置文件,可以修改两个位置 111 112 1. /etc/vim/vimrc 113 114 2.~/.vimrc 115 116 ~/.vimrc优先级高