cd ~切换至当前用户的主目录
cd -在两个目录之间切换
cd ..切换至上级目录
相对目录:相对当前目录
绝对目录:开始为/或者~
touch 1 建立1文本文件,如果1存在则修改一下末次修改日期
mkdir -p a/b/c 创建a目录,在a目录下创建b目录,在b目录下创建c目录
rm -r 删除目录
rm -f 强制删除,不存在的文件无需报错
rm -r a*删除以a开头的文件
tree树状图
tree ~
tree -d 只显示目录
touch a/b/1. txt
cp -i 若已经文件存在,出现提示内容,防止覆盖导致文件丢失
cp -r复制目录
mv -i提示是否覆盖,mv命令可以直接移动目录和文件,不需要-r, mv命令可以重命名文件。
gedit
Ctrl + s保存文件(编辑文本文件时如用gedit)
cat 1. txt查看文件内容,一次性显示
-b和-n分别为为文件内容添加行号,为所有行标记行号(包括空行)
more 1. txt查看文件内容,分屏显示,按空格键,和回车,下一屏,下一行,按q退出,适合查看较大文件。
鼠标到屏幕最上方,出现菜单,搜索,grep命令,-n显示匹配行及行号,-v显示不包含匹配文本的所有行(相当于求反),-i忽略大小写,grep abc 123.txt 在123. txt中查找abc
grep -n abc 123.txt 搜索abc并显示行号
grep ^f 123.txt 搜索123. txt中以f开头的行
grep a$ 123.txt搜索以a结尾的行
grep -n a$ 123.txt
echo Hello Python把文本在显示一遍,一般不会单独使用。
echo hello Python > a 把内容输入到a,如果没有a文件,则创建一个。
ls -lh > a 把ls命令显示的内容输入到a中。
ls -lh >> a 把显示内容追加到a的末尾。
tree >> a
echo命令可以创建文件,而且可以指定文本内容,touch只能创建空文本
管道,使一个命令的输出作为第二个命令的输入。
ls -lh | more
ls -lh ~ 显示家目录中的内容
ls -lha ~ | more
ls -lha ~ | grep Do 搜索Do
远程管理:
shutdown 选项 时间 关机
shutdown 一分钟之后关机
shutdown -r 重启
shutdown -r now 立刻重启
shutdown 20:25 晚上8点25分关机
shutdown +10 10分钟后关机
shutdown -c取消之前指定的关机
远程管理时,shutdown命令一定要加-r因为如果关机了,机房中的电脑需要有人去启动,比较麻烦。机房中一般无人。
查看或者配置网卡信息
网卡是负责网络通讯的硬件设备(有线,无线)
ip地址,设置在网卡上的地址信息。
网卡相当于SIM卡,ip地址相当于电话号码
Windows下到控制面板,网络设置,本地连接,属性,查看ip地址
Ubuntu到系统设置查看ip地址
ifconfig 查看网卡配置信息
ping ip地址 检测到目标ip地址的连接是否正常
ifconfig | grep inet 查看ip地址
按Ctrl + c 终止ping命令
ping命令可以检测目标计算机是否开着。
ssh基础:
通过ssh客户端连接到运行ssh服务器的远程机器上. Linux上可以直接使用,window s还需要安装。
域名:ip地址的别名,例如www. baidu. com
端口号:通过端口号找到服务器计算机上的软件。即web软件,web软件提供给用户访问内容。
ping www. baidu. com
web软件给用户提供访问内容
ip地址:端口号 不指定端口号则使用默认端口号。
ssh [-p port] user remote
user 远程机的用户名
remote 远程机的IP或域名
port 是SSH Server 监听端口,如不指定,则为默认值22
使用exit 退出当前用户的登录
ssh -p 22 qi@172.140.138 远程访问qi用户,IP地址是随意写的。第一次连接会出现授权信息,以及提示输入密码。
sudo shutdown -r now 远程登录后重启别人的电脑(恶作剧)
Windows下的ssh客户端Putty 和 XShell
这两个软件是免费的,建议到官网下载。
安装完毕后输入远程机ip地址就可以远程控制Linux了。exit来退出。
scp把文件在SSH客户端和远程机之间复制scp -P port 01. py user@remote:桌面/01. py把本地文件复制到远程服务器
scp -P port user@remote:桌面/01. py 01.py1 把远程服务器文件复制到本地
scp -r 123 user@remote:桌面 把当前目录下的123文件夹复制到远程家目录下的桌面文件夹下
scp -r user@remote:桌面 123 把远程家目录下的桌面文件夹复制到当前的123文件夹下。
Windows操作系统中与Linux文件交换
Filezilla 端口号21
免密码登录:到. ssh文件夹下,ssh-key gen一路enter ,最后ls会发现多了两个文件夹,将 . bub 文件传递到
ssh-copy-id itheima@172.16.140.1
可以直接登录it heima了。
公钥,私钥
ssh -P port user@remote比较麻烦,可以配置别名来简化。在~/.ssh/config里面( config自己用touch命令创建)追加以下内容:
Host 别名 HostName ip地址 User 远程计算机用户名 Port 22
保存之后,即可用ssh mac 实现远程登录了,scp同样可以使用。ssh 别名 即可登录
scp -r ~/桌面 别名:桌面/demodem
用户权限相关命令
读 r
写w
执行x
无权限-
给组设置权限,然后把用户设置到组。
ls -l命令显示文件,最左边是-还是d表示文件是否是目录。然后往右rwx rwx rwx 分别表示文件拥有者的权限,然后是组对应的权限
权限右边的数字表示硬链接数。
修改文件或者目录的权限
chmod +/-rwx 文件名或目录名
chmod -rw 01.py
gedit 01.py
Linux下执行一个文件: ./01.py 表示要执行当前目录下的文件01.py
在Linux中如果想针对目录执行终端命令,则对目录必须有可执行权限。
su 是substitute user的缩写,Linux中su为root用户。
组的添加删除(需要sudo,否则无权限):
groupadd zhiqi 添加组zhiqi
groupdel 删除组
cat/ etc/grop 确认组信息
chgrp 组名 文件/目录
etc / group配置文件。
cat /etc/group 查看组,查看显示内容最底下。
chgrp -R zhiqi 01. py 改变文件所属组为zhiqi 这命令需要root权限。
创建新用户:
useradd -m -g 组名 -m自动给新用户创建家目录 -g指定组,否则会为新用户创建一个同名组。
sudo useradd -m -g zhiqi zhangsan 添加一个张三用户,并且张三用户属于组zhiqi
指定用户密码
sudo passwd zhangsan
ls -l / etc/ passwd
cat -n / etc/ passwd
删除用户: userdel -r zhangsan 删除用户
-r选项,连同家目录删除
cat -n / etc/ passwd | grep zhangsan 查看用户代码。
id zhangsan
who 显示当前登录用户
附加组
usermod -G 组 用户 修改用户的附加组-G修改附加组,如果想让某用户拥有sudo权限,需要将该用户添加至sudo副组。
cat /etc/ group
whoami
UID用户标识
GID组标识
登录使用的Shell就是登录后,使用的终端命令,Ubuntu默认是dash(按键有问题,可能是Shell的原因)
修改用户登录Shell:
usermod -s / bin/ bash 用户名
/ usr/ bin/ passwd 是用于修改用户密码的程序
which 查看命令位置
which ls
which useradd
which pwd
在Linux中,绝大多数可执行文件都保存在以下文件中:
/bin ( binary)二进制文件
/sbin ( system binary)系统管理员专用的二进制代码存放目录,主要用于系统管理
/ usr/ bin 后期安装的一些软件(日常软件)
/ usr/ sbin超级用户的一些管理程序
切换用户:
passwd zhangsan 为zhangsan用户设置密码
userdel -r zhangsan 删除zhangsan用户,-r并删除家目录
修改用户权限的命令:
chown 修改拥有者
chgrp 修改组
chmod 修改权限
以上三个命令对应ls -l命令的显示内容。文件拥有者 所在组 rwxrwxrwx
chown 用户名 文件名/目录名
chgrp -R 组名 文件名/目录名 其中-R的作用是递归修改子文件或目录
chmod -R 755 文件名/目录名 第一个数字7代表文件拥有者的权限,下图为权限编号:
系统相关命令:
时间和日期:
date
time
日历:
cal
cal -y 查看一年的日历
df -h 显示磁盘使用情况 -h以人性化方式显示
du -h 显示目录大小 -h以人性化方式
进程信息:
ps 统计当前所有正在执行的程序
ps aux 不需要带-号
top 按CPU占用率实时监控进程,按q退出
kill 代号 ps au命令显示信息中PID即为代号
kill -9 代号 -9强行终止
注意不要随意终止以root身份开启的进程
查找文件:
find 路径 -name "*. py" 如果不输入路径则在当前文件夹下搜索,这里搜索以. py为扩展名的文件
find 桌面/ -name *1* 在桌面搜索包含1的文件
find -name "1*" 在当前文件夹下搜索以1开头的文件
find命令非常强大
软链接:类似于Windows中的快捷方式
ln -s 包括路径的源文件 软连接名称 路径最好是绝对路径,否则改变软链接位置后,软链接将无法使用
ln -s / home/ qi/桌面/ demo/01. py 123 为桌面下demo文件夹下的01. py文件建立软链接,软链接名称为123
硬链接 建立软连接是若不加-s则为硬链接,Ubuntu中储存数据方式是数据统一储存,我们所看到的文件名只是一个标签,也就是硬链接,再添加一个硬链接,则删除原来的硬链接,不会影响文件。只有删除文件的所有硬链接时,文件才会被删除。硬链接就是文件的另一个名字。
Linux中文件和文件名是分开储存的。
打包,压缩命令:
win rar
mac zip
Linux tar
打包:
tar -cvf 打包文件名.tar 被打包文件及路径
例如:tar -cvf py.tar 01.py 02.py 03.py
解包:tar -xvf 打包文件
例如:tar -xvf py.tar
tar -cvf 和tar -xvf只负责打包,解包要想压缩,需要加-z
使用gzip来压缩
压缩包文件名为 *. tar.gz
例如:tar -zcvf py.tar.gz 01.py 02.py 03.py
也可以:tar -zcvf py.tar *.py 打包当前目录下所有.py文件
使用bzip2 压缩文件
*. tar. bz2
tar -jcvf py. tar. bz2 01.py 02.py 03.py
tar -jxvf py.tar
tar -jcvf py.tar. bz2 -C 路径 注意!这里用-C选项是解压文件到目标目录。-C选项适用于解压,压缩,适用于gzip 也适用于bzip2
apt命令安装或者卸载软件
sudo apt install 软件包
sudo apt remove 软件名
sudo apt upgrade
sudo apt install sl 安装一个显示小火车的软件 终端输入sl来显示小火车
软件源:
Ubuntu提供一个主服务器,apt在主服务器上查找下载安装包,主服务器就叫软件源
Ubuntu的服务器位于国外,在国内下载软件就比较慢,国内一些网站复制一份主服务器数据,这就叫镜像
到系统设置,软件和更新,下载自 来选择镜像源。
人生苦短,我用Python