Linux系统命令大全
命令是Linu__操作系统的利器,务必掌握好,当然不可能一下子熟练掌握,但是只要多加练习,就可熟能生巧,运用自如。下面就让小编带你去看看那些Linu__系统命令大全,希望能帮助到大家!
教程 | Linu__常用命令大全
ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
ls (显示当前目录下文件)
ls 目录名 (显示指定目录下文件)
ls -l (长格式显示目录文件)
ls -l 文件名 (长格式显示指定文件)
ls -a (显示所有文件(包含隐藏文件))
ls -al (长格式显示当前目录下所有文件)
ls -h (文件大小显示为常见大小单位 B KB MB ...)
ls -d (显示目录本身,而不是里面的子文件)
长格式显示项
-rw------- 1 root root 1190 08-10 23:37 anaconda-ks.cfg
① ② ③ ④ ⑤ ⑥ ⑦
第①项:权限位
第②项:引用计数
第③项:属主(所有者)
第④项:属组
第⑤项:大小
第⑥项:最后一次修改时间
第⑦项:文件名
cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
功能描述:切换所在目录
cd /usr/local/src 切换到指定路径(使用绝对路径方式)
cd ~ 进入当前用户的家目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
绝对路径:cd ../usr/local 参照当前所在目录,进行查找。一定要先确定当前所在目录。 相对路径:cd /usr/local 从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置。
pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述:显示当前所在目录(当前工作目录)
Linu__ 常见目录
/ 根目录
/bin 命令保存目录(普通用户就可以读取的命令)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/lib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
/root 超级用户的家目录
/tmp 临时目录
/sbin 命令保存目录(超级用户才能使用的目录)
/proc 直接写入内存的
/sys 将内核的一些信息映射,可供应用程序所用
/usr 系统软件资源目录
/usr/bin/ 系统命令(普通用户)
/usr/sbin/ 系统命令(超级用户)
/var 系统相关文档内容
/var/log/ 系统日志位置
/var/spool/mail/ 系统默认邮箱位置
/var/lib/ 默认安装的库文件目录
mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述:建立目录
mkdir test 创建名为test的目录
mkdir -p test1/test2/test3 递归创建
rmdir
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除目录 (只能删除空目录)
![](/assets/屏幕快照 2017-07-19 上午11.05.47.png)
文件操作命令
touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件 或 修改文件时间
touch test.py 创建空文件,如果文件存在,则修改文件创建时间
rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:删除
rm 文件名 删除文件
rm -r 目录名 递归删除文件和目录
rm -f 文件名 强制删除
rm -rf 目录名 强制删除目录和文件
cat
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:查看文件内容,从头到尾的内容。
cat 文件名 查看文件内容内容
cat -n 文件名 查看文件内容,并列出行号
more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
功能描述:分屏显示文件内容
more 文件名 分屏显示文件内容
向上翻页 空格键
向下翻页 b键
退出查看 q键
head
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
功能描述:显示文件头
head 文件名 显示文件头几行(默认显示10行)
head -n 20 文件名 显示文件前20行
head -n -20 文件名 显示文件最后20行
ctrl + c 强制终止查看模式
ctrl + l 清屏
ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
功能描述:链接文件
等同于Windows中的快捷方式
新建的链接,占用不同的硬盘位置
修改一个文件,两边都会改变
删除源文件,软连接文件打不开
ln -s 源文件 目标文件 创建链接文件(文件名都必须写绝对路径)
文件和目录都能操作的命令
rm
删除文件或目录
cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
cp 源文件 目标位置 (复制)
或
cp 源文件 目标位置/目标名称 (复制并改名)
cp -r 复制目录
cp -p 连带文件属性一起复制
cp -d 若源文件是链接文件,则复制链接属性
cp -a 相当于 cp -pdr
mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
mv 源文件 目标位置
mv /root/test /tmp/ 将/root/下的test文件移动到/tmp/目录下
mv /root/test /root/newtest 将/root/下的test文件改名为newtest
权限管理
?权限位
-rw-r--r--. 1 root root 44736 7月 18 00:38 install.log
?权限位是十位
第一位:代表文件类型
- 普通文件
d 目录文件
l 链接文件
其他九位:代表各用户的权限
(前三位=属主权限u 中间三位=属组权限g 其他人权限o)
r 读 4
w 写 2
__ 执行 1
?权限意义
?权限对文件的含义:
r:读取文件内容 如:cat、more、head、tail
w:编辑、新增、修改文件内容 如:vi、echo 但是不包含删除文件
__:可执行 /tmp/11/22/abc ---------
?权限对目录的含义:
r:可以查询目录下文件名 如:ls
w:具有修改目录结构的权限 如:touch、rm、mv、cp
__:可以进入目录 如:cd
chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
功能描述:修改权限
chmod u+__ aa aa文件的属主加上执行权限
chmod u-__ aa aa文件的属主减去执行权限
chmod g+w,o+w aa aa文件的属组和其他人加上写权限
chmod u=rw__ aa aa文件的用户权限改为所有权限(读+写+执行)
另一种表现方式:
chmod 755 aa aa文件的属主权限是rw__,属组和其他人是r__
chmod 644 aa aa文件的属主权限是rw,属组和其他人是r
属主和属组命令chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
功能描述:修改文件的属主或属组
chown 用户名 文件名 改变文件属主
chown user1 aa user1必须存在
chown user1:user1 aa 改变属主同时改变属组
用户操作
useradd 用户名 功能描述:添加用户
passwd 用户名 功能描述:设定用户密码
帮助命令
man
命令名:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
功能描述:查看命令的帮助
--help
命令名:--help
执行权限:所有用户
功能描述:查看命令的帮助
查找命令
whereis
命令名:whereis
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
功能描述:查找命令的命令,同时看到帮助文档位置
find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
功能描述:搜索命令
find 查找位置 -name 文件名
find / -name aabbcc 查找/目录下名为 aabbcc的文件
更多选项:
-name 文件名 按照文件名查找
-user 用户名 按照属主用户名查找文件
-group 组名 按照属组组名查找文件
-nouser 找没有属主的文件 (除了这三个文件:/proc、/sys、/mnt/cdrom)
-size 按照文件大小k M 如:find / -size +50k
-type 按照文件类型查找(f=普通 d=目录 l=链接)
-perm 按照权限查找 如:find /root -perm 644
-iname 按照文件名查找,不区分大小写
grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
功能描述:查找符合条件的字串
grep 选项 '字串' 查找路径
grep -i "root" /etc/passwd
-v 反向选择
-i 忽略大小写
管道符 |
命令1 | 命令2 命令1的执行结果,作为命令2的执行条件
cat 文件名 | grep '字串' 提取含有字符串的行
ls -l /etc | more 分屏显示ls内容
压缩和解压缩
?linu__可以识别的常见压缩格式:.gz .bz2
?常见的压缩和打包命令:.tar.gz .tar.bz2
?压缩/解压 同时打包
tar -zcvf 压缩文件名 源文件
tar -zcvf aa.tar.gz aa
-z 识别.gz格式
-c 压缩
-v 显示压缩过程
-f 指定压缩包名
tar -z__vf 压缩文件名 解压缩同时解打包
tar -jcvf 压缩文件名 源文件 压缩同时打包
tar -jcvf aa.tar.bz2 aa
tar -j__vf aa.tar.bz2 解打包同时解压缩
查看不解包
tar -ztvf aa.tar.gz 查看不解压
tar -jtvf aa.tar.bz2
-t 只查看,不解压
tar -j__vf root.tar.bz2 -C /tmp/ 指定解压缩位置
关机和重启命令
shutdown
命令名称:shutdown
命令所在路径:/sbin/shutdown
执行权限:root
功能描述:关机/重启
shutdown -h now 没有特殊情况,使用此命令
-h 关机
-r 重启
reboot
命令名称:reboot
命令所在路径:/sbin/reboot
执行权限:root
功能描述:关机/重启挂载
挂载命令
mount
命令名称:mount
命令所在路径:/bin/mount
执行权限:所有用户
功能描述:挂载
linu__所有存储设备都必须挂载使用,包括硬盘
光盘挂载
/dev/sda1 第一个scsi硬盘的第一分区
/dev/cdrom 光盘
/dev/hdc IDE硬盘 centos 5.5
/dev/sr0 光盘 centos 6.__
mount -t 文件系统 设备描述文件 挂载点(已经存在空目录)
mount -t iso9660 /dev/cdrom /mnt/cdrom
光盘卸载
umount /dev/cdrom
umount /mnt/cdrom 注意:退出挂载目录,才能卸载
fdisk -l 查看设备名
mount -t vfat /dev/sdb1 /mnt/usb
网络命令
ping
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
功能描述:测试网络畅通性
ping -c 次数 ip 探测网络通畅
ifconfig
命令名称:ifconfig
命令英文原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
功能描述:查询本机网络信息
Linu__常用命令 ps 入门基础教程
Linu__上进程有5种状态:
运行(正在运行或在运行队列中等待)
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
R 运行 runnable (on run queue)
S 中断 sleeping
D 不可中断 uninterruptible sleep (usually IO)
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
ps 使用
用法:ps [ 参数 ]
ps命令有很多参数,具体如下:
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-__ 显示没有控制终端的进程,同时显示各个命令的具体路径。d__不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -f__ and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行
--version 显示版本信息
--help 显示帮助信息
下面给大家举几个在日常生活中使用较多的ps命令。
1、ps -au__
最常用的方法是ps -au__,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
列说明:
USER:用户名
PID:进程ID(Process ID)
%CPU:进程的cpu占用率
%MEM:进程的内存占用率
VSZ:进程所使用的虚存的大小(Virtual Size)
RSS:进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY:与进程关联的终端(tty)
STAT:进程的状态:进程状态使用字符表示的(STAT的状态码)
TIME:进程使用的总cpu时间
COMMAND:正在执行的命令行命令
2、ps -a__jf
树形显示进程,有时候我们希望以树形结构显示进程,可以使用 -a__jf参数。
ps -a__jf
或者可以使用另一个命令。
pstree
3、ps -ef
是用标准的格式显示进程的、其格式如下
列说明:
UID:用户ID(User ID)
PID:进程ID(Process ID)
PPID:父进程的进程ID(Parent Process id)
STIME:启动时间
TTY:与进程关联的终端(tty)
TIME:进程使用的总cpu时间
CMD:正在执行的命令行命令
4、ps -l
列说明:
F:代表这个程序的旗标 (flag), 4 代表使用者为 super user
S:睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
UID:用户ID(User ID)
PID:进程ID(Process ID)
PPID:父进程的进程ID(Parent Process id)
C:CPU 使用的资源百分比
PRI:这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI:这个是 Nice 值,在下一小节我们会持续介绍
ADDR:这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ:使用掉的内存大小
WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY:登入者的终端机位置
TIME:使用掉的 CPU 时间。
CMD 所下达的指令为何
5、显示所有当前进程
(1)、ps -a__
使用 -a参数,-a 代表 all。同时加上__参数会显示没有控制终端的进程。
(2)、ps -a__ | less
这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。
6、通过cpu和内存使用来过滤进程
如果你想把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 au__ 参数,来显示全面的信息:
(1)、ps -au__ | less
显示全面信息
当结果很长时,我们可以使用管道和less命令来筛选。
默认的结果集是未排好序的,可以通过 –sort命令来排序。
(2)、根据 CPU 使用来升序排序
$ ps -au__ --sort -pcpu | less
根据cpu使用排序
(3)、根据内存使用来升序排序
$ ps -au__ --sort -pmem | less
根据内存使用来排序
(4)、我们也可以将它们合并到一个命令,并通过管道显示前5个结果:
ps -au__ --sort -pcpu,+pmem | head -n 5
Linu__常用命令 awk 入门基础教程
awk命令工具在Linu__/UNI__系统中,awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于Shell脚本,完成各种自动化配置任务。一、awk命令的语法及概述
awk 选项 '模式或条件 { 编辑指令 }' 文件1 文件2 …
//过滤并输出文件符合条件的内容
awk -f 脚本文件 文件1 文件2 …
//从脚本中调用编辑指令,过滤并输出内容
__awk执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”和“||”;
也可以进行简单的数学运算,如+ 、-、、/、%、^分别表示加、减、乘、除、取余、乘方。____
awk从输入文件或者标准输入中读入信息,与sed一样,信息的读入也是逐行读取的。不同的是,awk命令将文本文件中的一行视为一个记录,而将一行中的某一部分(列)作为记录的一个字段。为了操作这些不同的字段(列),awk借用shell中类似于位置变量的方法,用$1、$2…$9顺序的表示不同列,$0表示整行。不同字段与不同字段可以通过指定的方式进行分隔,awk默认的分隔符是空格。awk命令允许使用“-F分隔符”的形式来指定分隔符。
二、awk命令用法示例
1)按行输出文本
1、输出所有内容
[linu__mi@linu__:~/linu__mi迷]$ awk '{print}' linu__mi.py
[linu__mi@linu__:~/linu__mi迷]$ awk '{print $0}' linu__mi.py
等同于“linu__mi.py”
2、输出第1~3行的内容
[linu__mi@linu__:~/linu__mi迷]$ awk 'NR==1,NR==3{print}' linu__mi.py
包括空行
3、出第3行、第5行的内容
[linu__mi@linu__:~/linu__mi迷]$ awk 'NR==3 || NR==5{print}' linu__mi.py
4、输出所有奇数行的内容
[linu__mi@linu__:~/linu__mi迷]$ awk '(NR%2)==1 {print}' linu__mi.py
5、输出所有偶数行的内容
[linu__mi@linu__:~/linu__mi迷]$ awk '(NR%2)==0 {print}' linu__mi.py
6、输出以“root”开头的行
[linu__mi@linu__:~/linu__mi迷]$ awk '/^root/{print}' /etc/passwd
7、输出以“nologin”结尾的行
[linu__mi@linu__:~/linu__mi迷]$ awk '/nologin$/{print}' /etc/passwd
8、统计以/bin/bash结尾的行数
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN {__=0} ;/\/bin\/bash$/{__++};END {print __}' /etc/passwd
9、统计以/bin/bash结尾的行数
[linu__mi@linu__:~/linu__mi迷]$ grep -c "/bin/bash$" /etc/passwd
10、统计以空格分隔的文件段落数
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{RS=""}; END{print NR}' /etc/dhcp/dhclient.conf
注意:命令较多时,使用“BEGIN……END”
2)按字段输出文本
1、输出每行中(以空格分隔)的第3个字段
[linu__mi@linu__:~/linu__mi迷]$ awk '{print $3}' linu__mi.py
2、输出每行中(以空格分隔)的第1个和第3个字段
[linu__mi@linu__:~/linu__mi迷]$ awk '{print $1,$3}' linu__mi.py
3)通过管道,双引号调用Shell命令
1、调用“wc -l”命令统计使用“bash”的用户个数
[linu__mi@linu__:~/linu__mi迷]$ awk -F: '/bash$/{print | "wc -l"}' /etc/passwd
[linu__mi@linu__:~/linu__mi迷]$ grep -c "bash$" /etc/passwd
2、调用“w”命令,并用力啊统计在线用户数
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}}'
3、调用“hostname”命令,并输出当前用户名
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN { "hostname" | getline ; print $0}'
4)使用awk命令进行简单的数学运算
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=9;b=8;print"(a + b)=",(a + b)}'
(a + b)= 17
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=100;b=78;print"(a - b)=",(a - b)}'
(a - b)= 22
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=80;b=5;print"(a / b)=",(a / b)}'
(a / b)= 16
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=80;b=5;print"(a ÷ b)=",(a / b)}'
(a ÷ b)= 16
[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=10;b=9;print"(a × b)=",(a __ b)}'
(a × b)= 90