Ubuntu 命令笔记(学习),ubuntu笔记
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 命令大全|菜鸟教程
评论暂时关闭