Ubuntu 命令笔记(学习),ubuntu笔记


1.切换到root帐户

su 
sudo su

*会需要提示输入管理员密码,才能进入

2.打开gedit

sudo gedit

*需要root权限

3.安装软件或者包(这是使用命令的方式安装,有其他的安装方式!)

sudo apt-get install 软件名或者包名

*需要root权限

4.重启系统

sudo reboot

*需要root权限

5.关机

sudo shutdown now

*需要root权限

6.查看当前使用的Shell类型

echo $SHELL

*Shell有多种不同的版本,按照来源可分为两大类:一类是有贝尔实验室开发的,以Bourne Shell(sh)为代表,兼容此类(sh)的Shell有bash、ksh、zsh。另外一类是由加州大学伯克莱分校开发的,以 C Shell(csh)为代表,兼容此类(csh)的有tcsh。bash(Bourne again / born again)是许多Linux发行版的默认Shell。完全兼容sh,可以不用修改sh脚本,直接在bash中执行。
7.环境变量
查看用户主目录:

echo $HOME

查看可执行命令的搜索路径

echo $PATH

查看当前用户的登录名

echo $LOGNAME

查看当前命令提示符

echo $PS1

查看当前使用的Shell

echo $SHELL

7.查看当前目录下的内容
显示隐藏的文件或文件夹 模式

ll

不显示隐藏的文件或文件夹 模式

ls -l

下面是一段,ll 或者 ls 的结果,每一行第一个字符是"d",是文件夹;第一个字符是"-",是文件。

drwxr-xr-x 10 root root      4096 10月  4 21:27 pycharm-community-2018.2.4
-rwxrwxrwx  1 zhw  zhw  260812419 10月  4 19:53 pycharm-community-2018.2.4.tar.gz

8.查看最近使用过的所有命令

history

*查看的是当前用户的命令历史,而非其他用户
每一条执行过的命令都有历史,历史中有该命令执行过的编号,允许使用编号再一次执行该命令

这里是历史

zhw@zhw-VirtualBox:~$ history
    1  ping 127.0.0.1
    2  help
    3  ping http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/

下面的命令作用是再一次执行"ping http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/"命令。

!3

9.命令行的输入与输出
Shell程序通常自动打开3个标准文档:标准输入文档(stdin)、标准输出文档(stdout)、标准错误输出文档(stderr)。stdin一般对应终端键盘,stdout和stderr对应终端屏幕。多数情况下使用标准输入输出作为命令的输入输出,但有时可能要改变标准输入输出,这就涉及重定向和管道。
输入重定向
主要用于命令的输入源,基本用法:

命令 < 文件名

wc命令用于统计指定的文件包含的行数、字数和字符数。

wc < 1.txt

输出重定向
主要用于命令的输出,让标准输出不要显示在屏幕上,而是写入指定文件中,基本用法:

命令 > 文件名

例如:

history > 1.txt

如果1.txt文件存在,则以覆盖的方式写入!!!
下面是以追加的方式写入

history >> 1.txt

以上是对标准输出来讲的,至于标准错误输出的重定向,只需要换一种符号,将">“改为"2>”,将">>“改为"2>>”,讲标准输出和标准错误输出一起重定向到同一个文件,使用符号”&>"。
10.在终端中输出某个文件

cat 1.txt

*打印

11.查看用户与组配置文件
用户帐户配置文件 /etx/passwd

sudo cat /etc/passwd

结果:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin

对应的解释:

帐户名:密码:账户编号(UID):用户所属的默认组(GID):注释:用户主目录:所使用的Shell

用户密码置文件 /etc/shadow

sudo cat /etc/shadow

结果:

root:$6$P5rvXWd4$XRXhPJlqJJxBgS8W05BtSfeoPTZasl/hsuCBUhIZTXijF.WYpcgrMruqbBgQuK0QWb86qh40lSetY9/5iE92W/:17811:0:99999:7:::
daemon:*:17016:0:99999:7:::
bin:*:17016:0:99999:7:::
sys:*:17016:0:99999:7:::
sync:*:17016:0:99999:7:::
games:*:17016:0:99999:7:::

对应的解释:

帐户名:密码:最近一次修改:最短有效期:最长有效期:过期前警告:过期日期:禁用:保留用于未来扩展

*第2个字段是加密的密码,该字段值如果为空,表示没有密码;如果为!!,表示密码已被禁用(锁定)。
*第3个字段是最近一次修改密码的日期(这是相对日期格式,即从1970年1月1日到修改日期的天数。)
*第4个字段表示密码多少天内不许修改。0值表示随时修改。
*第5个字段表示多少天后必须修改
*第6个字段表示密码过期前多少天发出警告信息
*第7个字段表示密码过期日期,如果为空表示永不过期。

组帐户配置文件 /etc/group

cat /etc/group

结果:

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,zhw

对应的解释:

组名:组密码:GID:组成员列表

组密码配置文件 /etc/gshadow

sudo cat /etc/gshadow

结果:

root:*::
daemon:*::
bin:*::
sys:*::
adm:*::syslog,zhw

对应的解释:

组名:加密后的密码:组管理员:组成员列表

12.安装用户帐户管理工具

sudo apt-get install gnome-system-tools

13.查看全部用户列表
使用了awk文本分析工具

awk -F ':' '{print $1}' /etc/passwd

14.使用命令管理 用户帐户 和 组
添加用户帐户

useradd 或 adduser

删除用户帐户

userdel 或 deluser

修改用户帐户

usermod 

chfn -f表示全名,-h电话号码,-o办公地址

chfn

修改帐户密码:

sudo passwd 帐户名称

查看useradd的默认配置

    useradd -D

帐户密码锁定

passwd -l 用户名

帐户密码解锁

passwd -a 用户名

查看某帐户当前状态

passwd -S 帐户名

删除帐户密码

passwd -d 帐户名

组的创建

groupadd 或 addgroup 组名

组的删除

groupdel 或 delgroup 组名

组的修改

groupmod 组名

查看某用户所属的全部组

groups 用户名

将用户添加到指定的组

gpassqd --a 用户名 组名

将某用户从组中删除

gpasswd --d 用户名 组名

批量添加到组中

gpasswd -M 用户名1,用户名2....

还允许使用adduser、deluser,将用户添加到组中、将用户从组中删除

adduser 用户名 组名
deluser 用户名 组名

查看用户信息

id 用户名

查看当前系统有哪些用户登录

sudo who

查看系统历史登录情况

last

*ubuntu 特别提供命令:

sudo adduser
sudo deluser
sudo addgroup
sudo delgroup
以上命令的选项均使用长格式,母的是为了更完善用户信息。

15.目录的认识

/   表的是根目录
~   表示的是用户的主目录
.   表示的是当前目录
..  表示的是父目录
/bin	存放用于系统管理维护的常用实用命令文件
/boot	存放用于系统启动的内核文件和引导装载程序文件
/dev	存放设备文件
/etc	存放系统配置文件,如网络配置、设备配置、X Window系统配置等
/home	各个用户的主目录,其中的子目录名称即为各用户名
/lib	存放动态连接共享库(其作用类似于Windows中的.dll文件)
/media	为光盘、软驱等设备提供默认挂载点
/mnt	为某些设备提供默认挂载点
/root	root用户主目录
/proc	系统自动产生的映射。查看该目录中的文件可以获取有关系统硬件运行的信息。
/sbin	存放系统管理员或root用户使用的命令文件
/usr	存放应用程序和文件
/var	保存经常变化的内容,如系统日志、打印等
使用ls -l命令以长格式列目录时,每一行第1个字符表示文件类型。
-	表示普通文件
d	表示目录文件
c	表示字符设备文件
b	表示块设备文件
l	表示符号链接文件

16.目录管理
创建目录

mkdir ~/test
mkdir -p ~/te1/te2
-p	表示的是要建立的目录的父目录尚未建立,将同时创建父目录

删除目录

rm -r ~/test1

改变工作目录

cd 路径

显示当前路径

pwd

显示目录内容

ls	[选项]	[目录或文件]

默认情况下输出条目按字母顺序排列。如果没有给出参数,则将显示当前目录下所有子目录和文件的信息。其选项及其含义如下:

-a	显示所有的文件,包括以"."开头的文件
-c	按文件修改时间排序
-i	在输出的第1列显示文件的索引节点号
-l 以长格式显示文件的详细信息。输出的信息分成多列,依次是文件类型与权
限、链接数‘、文件所有者、所属组、文件大小、建立或最近修改的时间、文
件名
-r 按逆序显示ls命令的输出结果
-R 递归地显示指定目录的各个子目录中的文件

17.文件管理
文件内容显示
cat命令连接文件并打印到标准输出上。

cat	[选项]	[文件名]	[文件名]

该命令有两个主要功能,一是用来输出文件内容,二是用来合并文件。

cat ~/1.txt 
cat 1.txt 2.txt > 3.txt

more命令
如果文件太长,用cat命令只能看到文件最后一页,而用more命令时可以逐页显示,more命令语法如下:

more	[选项]	[文件名]

该命令一次显示一屏文本,满屏后显示停下来,并在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。

less命令
less命令也可以用来分页显示文件内容,但功能比more更强大,语法:

less	[选项]	[文件名]

less比more更灵活。例如,用page up、page down键可以向前、向后移动一页,用上下光标键可以前后移动一行。

head命令
head命令在屏幕上显示文件的开头若干行或多少个字节,如下:

head	[选项]	[文件名]

不带任何参数,默认输出前10行

-n	表示输出前n行
-e 表示输出n个字节

tail命令
tail命令在屏幕上显示指定文件的末尾若干行或若干字节,与head命令相反。如下:

tail	[选项]	[文件名]

具体用法参见head命令
od命令
od命令用于按照特殊格式查看文件内容

od	[选项]...模式	[文件名]...

文件内容查找

grep	[选项]...模式	[文件名]...

参数如下:

-i	表示忽略大小写
-x	表示强制整行匹配
-w	强制关键字完全匹配
-e	用于定义正则表达式
-m	定义多少次匹配后停止搜索
-n	指定输出的同时打印行号
-H	为每一匹配打印文件名
-r	在指定目录中进行递归查询

comm命令
对两个已经排好序的文件进行逐行比较,只显示它们共有的行,如下:

comm	[-123]	文件1	文件2
-1	表示不显示仅存在文件1中存在的行
-2	表示不显示仅存在文件2中存在的行
-3	表示不现实在comm命令输出中的第1列、第2列和第3列

diff命令
diff命令逐行比较两个文件,列出它们的不同之处,如下:

diff	[选项]	文件名列表

文件内容排序
sort 命令用于对文本文件的各行进行排序,如下:

sort	[选项]	文件名列表

文件内容统计
wc命令用于统计指定文件的字节数、字数、行数、并输出到屏幕,如下:

wc	[选项]	文件名列表

参数如下:

-c	表示统计字节数
-l	表示统计行数
-w	表示统计字数

文件查找
find命令用于在目录结构中搜索满足查询条件的文件并执行指定操作,如下:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

简单的用法如下:

sudo find ~ -name "a*.txt" -print
sudo find ~ -name "1.txt" -exec grep "100" {} \;
sudo find ~ -name "1.txt" -exec less {} \;

至于其他比较复杂的用法,请到Ubuntu find命令详解
locate命令
locate命令用于查找文件,它比find命令的搜索速读快,但需要一个数据库,这个数据库由每天的例行工作(crontab)程序自动建立和维护,如下:

locate	[选项]...	[模式]...

参数:

-d	指定locate命令所使用的数据库,以取代默认的数据库/var/lib/mlocate/mlocate.db
-c	表示只列出查到的题目数量
-A	表示列出匹配的所有条目
-w	表示匹配整个路径

例如:

locate -w chgpasswd

18.文件、目录的复制、移动、删除
cp命令
将源文件或目录复制到目标文件或目录中,如下:

cp	[选项]	源文件或目录	目标文件或目录

如果参数中指定了两个以上的文件或目录,且最后一个是目录,则cp命令视最后一个为目的目录,将前面指定的文件和目录复制到该目录下,如果最后一个不是已存在的目录,则cp命令将给出错误信息。
rm命令
可以删除一个目录中的一个或多个文件和目录,也可以将某个目录及下属的所有文件和子目录删除,如下:

rm	[选项]	文件列表

该命令对于链接文件,只是删除整个链接文件,而原有文件保持不变。
mv命令
用来移动文件或目录,还可以用于修改文件或目录名,如下:

mv	[选项]	源文件或目录	目标文件或目录

参数

-i	表示目标文件已存在时,在覆盖之前,给出提示
-f	表示目标文件已存在时,不给出任何提示

修改文件或目录名

mv 1.txt 4.txt
mv 文档 文件

链接文件的创建
链接文件命令是ln,该命令在文件之间创建链接,如下:

ln -s 目标(源文件或目录)	链接文件
符号连接

硬连接

ln	目标(源文件或目录)	链接文件

连接的对象可以是文件,也可以是目录。如果链接指向目录,那么用户就可以利用该连接直接进入被链接的目录,而不用给出到达该目录的一长串路径。

文件压缩与解压
gzip命令
对.gz文件操作

gzip	[选项]	压缩/解压文件名

unzip命令
对winzip格式文件进行解压缩

unzip	[选项]	解压缩文件名

tar命令
用于对文件和目录打包

tar	[选项]	文件或目录名

19.分配权限
变更所有者

chown	[选项]	[新所有者]	文件列表

使用-R进行递归变更,即目录连同子目录下的所有文件的所有者都变更。
例如:

chown root *.txt

结果:

-rw-rw-r-- 1 root zhw 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 root zhw 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 root zhw    31 10月 11 11:34 3.txt

变更所属组

chgrp	[选项]	[新的所属组]	文件列表

使用-R也可以连同子目录中的文件一起变更所属组。
例如:

chgrp root *.txt

结果:

-rw-rw-r-- 1 root root 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 root root 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 root root    31 10月 11 11:34 3.txt

还可以使用chown命令同时变更文件所有者和所属组,如下:

chown	[选项]	[新所有者] :	[新的所属组]	文件列表

例如:

chown zhw:zhw *.txt

结果:

-rw-rw-r-- 1 zhw zhw 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 zhw zhw 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 zhw zhw    31 10月 11 11:34 3.txt

查看用户的umask值

umask

20.使用存档工具进行简单备份
语法如下:

tar	[选项]	档案文件	文件或目录列表

压缩文件:

tar	-czvf	xxx.tar	~/test

将用户目录下的test文件或文件夹打包成xxx.tar

解压文件:

tar	-xzvf	xxx.tar

将xxx.tar解压到当前目录下

使用dd命令进行存档
dd是一种文件转换命令,用于复制文件,并在复制的同时进行指定的转换和格式处理,如果转换取决于选项和参数。
它使用if选项指定输入端,of选项指定输出端,如下:

dd	if=/dev/cdrom	of=cdrom.iso

由于dump和restore命令的出现,dd比较少用了。

21.APT命令行工具的使用(对软件包的管理)
使用apt安装和卸载时需要提供准确的软件包名。而apt-cache提供模糊查询。
列出已安装的所有软件:

apt-cache pkgnames

模糊查询软件包:

apt-cache search ssh

show可以查看软件包详细信息(要求是软件包全名)

apt-cache show python

depends可以查看软件包依赖的软件包

apt-cache depends python

rdepends可以查看软件包被哪些软件包依赖

apt-cache rdepends python

showpkg查看软件包的依赖关系

apt-cache showpkg python

policy查看软件包的安装状态和版本信息

apt-cache policy python

安装软件包
建议安装前先执行下面的命令更新一下apt-get的信息

apt-get update

然后在执行安装命令

apt-get install python

卸载软件包

sudo apt-get remove emacs

如果要删除的同时还删除配置文件,则执行:

sudo apt-get purge emacs

如果需要更彻底的删除,则执行:

sudo apt-get autoremove 软件包名

这将删除该软件包及其所依赖的、不再使用的软件包。

清除软件包备份:

sudo apt-get autoclean 软件包名

软件包升级:
在升级前请先更新apt-get中的信息

apt-get update
apt-get upgrade

执行下面的命令,可以识别出依赖关系改变的情形做出相应处理,会尝试升级最重要的包。

sudo apt-get dist-uprade

执行apt-get upgrade命令时加上-u选项很有必要,这可以让apt显示完整的可更新软件包列表。
可以使用-s来模拟升级软件包,这样便于查看哪些软件包会被更新,确认没有问题后,再实际执行升级。
如果只想对某一具体的软件包进行升级,可以在执行安装软件包命令时加上-reinstall 选项。

sudo apt-get --reinstall install 软件包名

Ubuntu使用文本文件/etc/apt/sources.list来保存软件包的安装和更新源的地址。第三方软件安装源/etc/apt/sources.list.d目录下的.list文件。
结果如下:

# deb cdrom:[Ubuntu 14.04.5 LTS _Trusty Tahr_ - Release amd64 (20160803)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.


## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu trusty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main

第一个字段,表示的是deb类型的安装包。
第二个字段,表示的是软件源的URL
第三个字段,定义软件包的发行版本或分类。

main:	Canonical支持的开源软件,大部分都是从这个分支获取的
universe:	社区维护的开源软件
restricted:	由设备生产商专有的设备驱动软件
multiverse:	受版权或者法律保护的相关软件
security:	重要的安全更新
updates:	推荐的一般更新
proposed:	预览版本的更新
backports:无支持的更新,这种更新通常还存在一些bug

utopic表示Ubuntu版本.

22.使用新得立软件包管理器
安装命令:

apt-get install synaptic

可以使用下面的命令打开软件:

synaptic

管理ppa源
ppa源语法格式如下:

ppa:user/ppa-name

添加ppa源如下:

sudo add-apt-repository ppa:user/ppa-name

删除ppa源如下:

sudo add-apt-repository -r ppa:user/ppa-name

也可以通过图形界面管理,打开“系统设置”界面,单击“系统”区域的“软件和更新”按钮。

23.Deb、RPM软件包管理
查看Deb软件包
如下:

dpkg -l 软件包名

-l 列出软件包的简要信息,包括状态、名称、版本、架构和简要描述。

ubuntu 是严格区分大小!
附:Lniux 命令大全|菜鸟教程

相关内容

    暂无相关文章