linux常用命令

Linux桌面环境介绍

Linux桌面环境是基于X windows系统开发,所谓桌面环境其实是运行在linux系统上的一套图形界面软件,我们最先接触的windows图形界面也是这样,是运行在DOS上的一套软件。而图形界面是对shell的封装而已,shell称为壳,是提供给使用者来操作操作操作系统内核的工具,比如文件移动实质还是系统内核的来实现,通过一个shell命令来调用。

Linux终端

常用快捷键

[Ctrl]+[Alt]+[F1][F6]    打开纯命令行界面的 “terminal[Ctrl]+[Alt]+[T]           打开终端,打开的是伪终端,在图形界面上的终端

[Ctrl]+[Alt]+[F7]          返回图形界面 

[Tab]                      补全输入

[Ctrl + C]                 终止当前程序,但不会退出终端

[Ctrl + z]                 程序后台运行,恢复到前台命令fg

[Ctrl + d]                 退出终端,或者使用exit命令

[Ctrl + a]                 将终端光标移动到行头

[Ctrl + e]                 将终端光标移动到行尾

[Alt + Backspace]          向前删除一个单词

[Shift + PgUp]             将终端显示向上滚动

[Shift + PgDn]             将终端显示向下滚动

你可以使用键盘上的方向上键,恢复你之前输入过的命令

系统管理

在讲解命令行之前,有几个TIPS需要先说明:

  • 可以使用TAB键,自动补齐命令,文件名等
  • 存在多个匹配情况下,连续按下两次TAB键,会以列表形式给出
  • shell支持通配符,类似于正则表达式中的语法规则
区段说明
*匹配任意字符
?匹配一个字符
[1,2,a,b]匹配在1,2,a,b其中出现的任一字符
[c1-c2]匹配c1-c2的任一字符
[^list]匹配list中不存在的情况
{string1, string2, string3}匹配字符串中的任意一个,中括号是匹配字符
{c..c2}匹配c1-c2的全部字符

e.g find file[1-9],可以找到file1,file2,…,file9

shell脚本

shell有多种版本,本文使用的是bash,在bash中命令行开始以美元字符开始,root身份以#开始

用户名@主机名+当前路径$
用户名@主机名+当前路径#

帮助获取

在命令行中获取帮助

man

man命令给出的帮助信息分为八个区段,这8个区段实际就是对命令进行了分类,如果不理解可以跳过。

Space(空格键)翻页
Enter(回车键)向下滚动一行
/<你要搜索的关键字>
q键退出
区段说明
1一般命令
2系统调用
3库函数,涵盖了C标准函数库
4特殊文件(通常是/dev中的设备)和驱动程序
5文件格式和约定
6游戏和屏保
7杂项
8系统管理命令和守护进程

想要获得更详细的帮助,你还可以使用info命令,不过通常使用man就足够了。

为了看懂man命令对其表示方法要解释以下,以find为例:

其中用中括号[]扩起来表示 都是可以选可不选的,也就是说find命令后面可以什么都不跟就能运行,[-D debugopts]这个跟其他不一样,这个参数在输入-D后面还要跟一个参数,…三个点表示这个选项可以添加多个

find  [-H]  [-L]  [-P]  [-D  debugopts]  [-Olevel]  [starting-point...]
       [expression]

–help

如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用–help参数,大部分命令都会带有这个参数

ls --help

whatis

-- whatis uname                 列出一个命令的简单描述

apropos 不知道是哪个命令时

apropos search                  显示与搜索相关的命令操作                    

目录管理

1. 目录简单操作**

cd

cd ~或者cd /home    进入 '/ home' 目录'

cd ..               返回上一级目录

cd ../..            返回上两级目录

cd                  进入个人的主目录

cd ~user1           进入个人的主目录

cd -                返回上次所在的目录

pwd

pwd                 显示当前路径

ls

ls                  查看目录中的文件

ls -F               查看目录中的文件

ls -l               显示文件和目录的详细资料

ls -a               显示隐藏文件

ls *[0-9]*          显示包含数字的文件名和目录名

tree

tree                显示文件和目录由根目录开始的树形结构,以当前目录为根目录(1)

sudo apt install tree 进行安装

mkdir

mkdir dir1          创建一个叫做 'dir1' 的目录'

mkdir dir1 dir2     同时创建两个目录

mkdir -p /tmp/dir1/dir2 创建一个目录树

rm

rm -f file1        删除一个叫做 'file1' 的文件'

rmdir dir1         删除一个叫做 'dir1' 的目录',只能删除空文件夹

rm -rf dir1        删除一个叫做 'dir1' 的目录并同时删除其内容,-r递归删除,-f强制删除

rm -rf dir1 dir2   删除多个文件,同时删除两个目录及它们的内容

mv

mv dir1 new_dir    重命名/移动 一个目录

rename

可以批量重命名

cp

cp file1 file2     复制一个路劲file1文件到file2

cp dir/* .         复制一个目录下的所有文件到当前工作目录

cp -a /tmp/dir1 .  复制一个目录到当前工作目录 

cp -a dir1 dir2    复制一个目录

ln -s file1 lnk1   创建一个指向文件或目录的软链接

ln file1 lnk1      创建一个指向文件或目录的物理链接

touch

touch hello.c                       建立hello.c文件

ln

ln filepath link    //为文件filepath在当前目录下创建一个名为link硬链接

ln -s filepath link //为文件filepath在当前目录下创建一个名为link软链接

2. 查看文本

cat

cat  file          查看文件file,文件会被一次性全部显示      
cat -n file        查看文件显示行号

nl

nl命令是更专业的行号打印命令

参数含义
-b a无论是否为空行都打印出行
-b t只列出非空行的行号(默认)
-n ln在行号字段部分靠左对齐
-n rn在行号字段部分靠右对齐
-n rz在行号字段部分靠右对齐,且不足位补0

more

more file          查看文件,一页页显示文件,空格向下翻页,enter向下滚动一行,q退出,h显示帮助

less(more的改进版)

less file          查看文件,空格向下翻页,b向上翻页
head -n 2 file1 file2               显示文件file1和file2的前两行

tail

tail -n 2 file1 file2               显示文件file1和file2的后两行

file

file filename                       查看文件类型

grep

grep hello filename       //查找文件filename中带hello的行
或
cat filename | grep hello

grep -r hello ./          //从当前文件夹递归查找所有文件中带hello的行

3. 文件搜索

find

find / -name file1                  从 '/' 开始进入根文件系统搜索文件和目录ing
f
find / -user user1                  搜索属于用户 'user1' 的文件和目录

find /home/user1 -name *.bin       在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件

find /usr/bin -type f -atime +100   搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -mtime -10    搜索在10天内被创建或者修改过的文件

find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限

find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备

注意*号前的反斜杠进行转义

locate 快速搜索

通过”/var/lib/mlocate/mlocate.db”数据库查找,不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行updatedb命令更新一次,所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次updatedb命令(在我们的环境中必须先执行一次该命令)。

locate  *.ps                        寻找以 '.ps' 结尾的文件 
locate /usr/share/*.jpg  

whereis 查找程序文件

whereis只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。如果想要获得更全面的搜索结果可以使用locate命令。

whereis halt                        显示一个二进制文件、源码或man的位置

which查找是否安装某软件

which man       

权限管理

在讲权限管理先解释几点与Windows中不同的地方:
1. linux中一切皆文件,不管是文本文件还是二进制文件对系统来说都看成文件;
2. linux中可执行文件不像windows中通过后缀.exe或者.bat来标识,而是通过其文件属性来标识;
3. linux中的文件具有三种属性,RWX,可读,可写,可执行
4. linux中文件的属性又分为三个层次,owner/group/other

chmod

改变文件9个属性,change mode缩写

chmod 755 file.txt                 //更改file.txt属性为rwxrw-rw-           
chmod u=rwx,go=rx file.txt         //与上一条语句执行结果相同
chmod g+r file.txt                 //给组添加读属性
chmod u-x file.txt                 //给文件拥有者除去可执行属性

chown

改变文件所有者,就是change owner

chgrp改变文件所属用户组,就是change group的缩写

chgrp [-R] groupname filename
-R表示递归

管理软件包

apt-get

sudo apt-get         用于deb包的升级,安装,卸载
sudo apt-get update  更新软件包
sudo apt-get install packgename        安装
sudo apt-get remove softwarename       卸载
sudo apt-get remove --purge softwarename      卸载并删除配置文件
sudo apt-get autoremove softwarename          删除包及其依赖的软件包,加--purge删除更彻底

压缩工具

gzip最常用的压缩

gzip linux_book.tar                 压缩文件
gzip -l linux_book.tar.gz           查看压缩效果

通过gzip压缩的文件会自动加上.gz的扩展名,上述文件就变成了gzip linux_book.tar.gz

注:.tar.gz是linux中最流行的压缩文件格式,这是先经过tar打包程序处理后,然后用gzip压缩的成果

gzip -d linux_book.tar.gz           解压缩文件 
gunzip linux_book.tar.gz            与上面命令作用相同

bzip2 更高的压缩率

方法与gzip相同

tar打包工具

tar -cvf shell.tar shell/          打包文件
c       指导tar创建归档文件
v       显示命令执行过程,嫌啰嗦可以省略
f       指定归档文件的文件名
tar -xvf shell.tar                 解包文件
tar -cvwf shell.tar shell/         每次加入单个文件或文件夹
tar -xvwf shell.tar shell/         每次抽取单个文件或文件夹
tar -czvf shell.tar.gz shell/      打包文件并压缩成.zip格式
tar -xzvf shell.tar.gz             解压缩文件,并解包

注:tar命令不会删除源文件,而压缩命令会删除源文件

用户管理

查看用户who命令

whoami      查看当前用户用户名
who am i    查看当前用户名和终端信息

pts/0       pts表示伪终端,后面的0表示终端号
/dev/tty6   tty表示真终端,后面的6表示终端号
参数jiang
-a打印能打印的全部
-d打印死掉的进程
-m同am i,mom likes
-q打印当前登录用户数及用户名
-u打印当前登录用户登录信息
-r打印运行等级

获取root用户权限

sudo                         获取root用户权限
sudo adduser peter           创建一个peter用户
su -l peter                  切换到peter用户

磁盘管理

linux将文件分成两个部分,一个是inode记录属性和位置,一个block记录文件数据

df

df查看挂载点使用情况

fdisk

sudo fdisk -l       列出磁盘信息

挂载设备mount

sudo mount -t ext3 /dev/sdc /mnt/new   将设备sdc挂在到文件夹new中,文件格式为ext3

解除挂载umount

umount /dev/sdc    卸载sdc设备
umount /mnt/new    卸载挂在文件夹new下面的设备

进程管理

ps

ps x
ps aux

top显示CPU,内存和进程等的信息

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值