linux系统常用命令
目录
1、ifconfig-----查看ip地址
2、ls命令
ls-l 查看文件详细信息
ls-a 显示当前目录所有文件(包含隐藏文件)
ls-lh 将文件大小转换为相应数量级显示
ls-R 递归显示所有文件
ls-i 显示文件系统给文件分配的inode号
3、cd命令
cd ~ 回到家目录(等同于cd直接回车)
cd . 切换到当前目录
cd .. 返回上一级目录
cd - 返回上一次操作的目录
cd / 进入根目录
4、pwd -----显示当前所在的绝对路径
5、clear -----清屏命令(快捷键:Ctrl + l)
6、touch命令
touch 文件名 创建文件(若文件名存在,则更新时间戳)
7、mkdir命令
mkdir 目录名 在当前路径下创建目录
mkdir -p 目录名1/目录名2/目录名3 -----当前目录下嵌套形式创建多级目录
8、rmdir命令
rmdir 目录名 仅用于删除空目录(一般不用)
9、rm命令
rm 文件名 删除文件
rm -r 目录名 删除目录
rm -f 目录名 不提示信息,强制删除目录
10、cp命令
cp 文件名1 文件名2 复制文件名1,并命名为文件名2
cp 文件名1 目录名 复制文件到目录中
cp -r 目录名1 目录名2 若目录名2存在,复制目录名1复制到目录名2下;若目录名2不存在,复制目录名1,并命名为目录名2.
11、mv命令
mv 文件名1 文件名2 将文件名1重命名为文件名2(若文件名2已存在,相当于用文件名1覆盖文件名2)
mv 文件名 目录名 将文件移动到目录中
mv 目录名1 目录名2 若目录名2存在,将目录名1移动到目录名2中;若目录名2不存在,将目录名1重命名为目录名2
12、cat命令
cat 文件名 查看文件中内容
cat -n 文件名 查看文件内容,并显示行号
cat /etc/issue 查看ubuntu版本号
uname -r 查看内核版本号
13、su命令
su 用户名 切换用户
su -用户名 切换用户(并加载新用户的环境变量)
14、exit命令
若切换用户后执行exit,相当于退出当前用户
若没切换用户直接执行exit,相当于退出当前终端
15、ctrl + 空格-----切换输入法
16、tab-----按键补齐
17、chmod命令
chmod 0777 文件名 修改文件权限(rwx代表全1代表八进制的7,其中r(可读),w(可写),x(可执行))
+ 给权限(例如给文件的用户添加可执行权限:chmod u+x 文件名 ,其中u(用户),g(组),o(其他),a(包括用户、组、其他))
- 去除权限
u:用户;g:组;o:其他;a:all全部;
例如:chmod u+r 1.c 给1.c的用户加上读权限
chown -----修改文件的用户的命令
chown 修改成的用户 文件名
chown 用户:组 文件名
sudo chown root 1.c 将1.c文件用户修改成root(修改用户)
sudo chown root:root 1.c 将1.c文件用户和组都改成root(修改用户和组)
sudo chown :root 将1.c文件组修改为root
chgrp命令 -----修改文件所属组命令
chgrp 组名 文件名
例如:sudo chgrp linux 1.c 将1.c的组名改成linux
18、echo命令
echo ”hello world” -----在终端打印字符串
‘>’:-----重定向符号:将内容以覆盖形式写入到文件中
‘>>’:-----追加重定向符号:自动文件尾部追加,不可指定行数
19、命令模式常用命令
h-----左;i-----右;j-----上;k-----下
yy 复制光标所在的一整行
p 将复制的内容粘贴到当前光标的下一行
P 将复制的内容粘贴到当前光标的上一行
nyy n代表要复制多少行(从光标所在行开始复制)
dd 剪切光标所在行
ndd n代表要剪切多少行(从光标所在行开始剪切)
u 撤销操作
Ctrl+r 后退操作
gg 跳转到首行
ngg 跳转到第n行
G 跳转到尾行
gg=G 全文自动缩进
20、底行常用命令
w-----保存;q-----退出;wq-----保存退出;q!-----强制退出;x -----保存退出(相当于wq)
:%s/hello/world/g 将文件中的所有hello替换成world
:%s/hello/world/gc 将文件中的所有hello替换成world(逐个询问)
:5,10s/hello/world/g 将5-10行的hello 全部替换成world
:nohl 取消关键词高亮
:set number 显示行号
:set nonu 取消显示行号
:vsp 文件名 左右分屏显示多个文件
:wqa 关闭所有打开的文件
21、dpkg命令(离线安装)
sudo dpkg -i 软件包名 安装软件
软件名 执行软件
sudo dpkg -r 软件名 卸载软件
sudo dpkg -P 软件名 完全卸载
sudo dpkg -l 软件名 查看版本号
sudo dpkg -L 软件名 查看安装路径
sudo dpkg -s 软件名 查看安装状态
22、apt-get命令(在线安装)
sudo apt-get update 更新源(将服务器的软件包以文件的形式保存在本次/var/lib/apt/lists目录)
sudo apt-get 软件名 安装软件
sudo apt-get remove 软件名 卸载软件
sudo apt-get download 软件名 只下载不安装
sudo apt-get source 软件名 下载软件源码
sudo apt-get clean 清除(清除/var/cache/apt/archives目录下的安装包)
23、压缩命令(对文件操作)
压缩/解压缩
gzip/gunzip
bzip2/bunzip
xz/unxz24
24、tar打包命令(对目录操作)
-r 打包
-x 拆包
-v 显示过程
-f 后跟文件名
-z gzip压缩
-j bzip2压缩
-J xz压缩
tar -cvf day1.tar day1 将day1目录打包成day1.tar文件
tar -xvf day1.tar 将day1.tar拆包
tar -czvf day1.tar day1 将day1进行打包压缩并压缩为gzip格式
tar -cjvf day1.tar day1 将day1进行打包压缩并压缩为bz2格式
tar -cJvf day1.tar day1 将day1进行打包压缩并压缩为xz格式
tar -xzvf day1.tar.gz 将day1.tar.gz拆包并解压
tar -xjvf day1.tar.bz2 将day1.tar.bz2拆包并解压
tar -xJvf day1.tar.xz 将day1.tar.xz拆包并解压
tar -xvf day1.tar.xx 万能拆包并解压
25、wc命令
wc 文件名 将文件的行号,字符个数,单词个数显示到终端上
wc -l 显示文件的行号
wc -c 显示文件内字符个数
wc -w 显示文件内单词的个数
26、head命令
head 文件名 默认显示文件开头的10行
head -n 文件名 显示文件的前n行
27、tail命令
tail 文件名 默认显示文件结尾的10行
tail -n 文件名 显示文件的倒数n行
head -41 /etc/passwd > test.txt 将etc目录下的passwd文件的前41行写入test.txt文件
tail -1 test.txt 这两行显示/etc/passwd文件的第41行
上面两条可以用下面一条命令来完成
head -41 /etc/passwd | tail -1 (|是管道命令,这里将第一条命令的结果作为最后一条命令的参数)
28、grep命令
grep 文件内字符串的搜索
-n 在搜索时显示搜索到的行号
-R 递归搜索(先在当前目录下搜索,然后在当前目录的子目录下搜索)
-i 忽略大小写
-w 按照单词精确搜索
grep "main" * -n //在当前目录下搜索所有文件中的main字符串
grep "main" * -nR //在当前目录下及子目录搜索所有文件中的main字符串
grep "main" * -niR //在当前目录下及子目录搜索所有文件中的main字符串,忽略大小写
grep "main" * -niRw //在当前目录下及子目录搜索所有文件中的main字符串,忽略大小写
grep "^main" * -n //在当前目录下搜索所有文件中的以main(行)开头字符串
grep "main$" * -n //在当前目录下搜索所有文件中的以main(行)结尾字符串
grep "^main$" * -n //在当前目录下搜索所有文件中的只有main(一次)的行
29、find命令
find 搜索文件
find 路径 -name 文件名
find ./ -name test1.c //在当前目录及子目录搜索test1.c的文件
find -name test* //在当前目录及子目录搜索以test开头的文件
30、cut命令
cut 文件内字符串的裁剪提取
-f 提取的域
-d 裁剪的分隔符号
cut -d 分隔符号 -f 域的序号 文件名
例如:addr.txt文件
000:111:222:12345:9999999
cut -d ":" -f 1 addr.txt 输出结果:000
cut -d ":" -f 1,2,5 addr.txt 输出结果:000:111:9999999
cut -d ":" -f 1-2,5 addr.txt 输出结果:000:111:9999999
31、链接文件
ln -s 被链接的文件 链接文件---软链接(相当于windows的快捷方式,链接文件类型是l,可以链接文件、目录)
ln 被链接的文件 链接文件---硬链接(相当于给文件起别名,磁盘空间不变,链接文件类型是普通文件,只能链接文件,inode号相同)
32、用户管理命令
sudo adduser 用户名 添加新用户(新用户没有sudo权限,需要su root;vi /etc/sudoers中添加新用户)
sudo addgroup 组名 添加组
su 用户名 切换用户
sudo usermod -g linux hello 将hello用户的组名修改成linux
sudo usermod -c linux hello 修改hello用户在/etc/passwd文件的第五个域(用户登录界面名)
sudo usermod -m -d /home/linux hello 将hello用的主目录移动并重命名为/home/linux
sudo usermod -l linux hello 将hello用户名修改成linux(用户名,是/etc/passwd的第一个域)
sudo passwd 用户名 修改用户的密码
id 用户名 查看用户和组的命令
sudo delgroup 组名 删除组
sudo deluser 用户名 删除用户
33、关机重启命令(shutdown reboot)
关机
sudo shutdown -h 12:10 12:10关机
sudo shutdown -h +50 50分钟后关机
sudo shutdown -h now 立即关机
重启(sudo reboot)
sudo shutdown -r 12:10 12:10重启
sudo shutdown -r +50 50分钟后重启
sudo shutdown -r now 立即重启
34、磁盘管理相关的命令
34.1查看设备是否存在
ls /dev/sd*
/dev/sda //Ubuntu系统的磁盘
/dev/sda1 //Ubuntu系统磁盘分区
/dev/sdb //U盘
/dev/sdb1 //U盘的第一个分区
/dev/sdb2 //U盘的第二个分区
34.2 查看分区相关命令
sudo df -h 查看分区使用率
sudo fdisk -l 查看磁盘的详细信息
34.3 给u盘分区
sudo fdisk /dev/sdb
d 删除分区
n 添加新分区
p 打印分区表
m 打印此菜单
w 将分区表写入磁盘并退出
q 退出而不保存更改
34.4 给u盘格式化
sudo mkfs.ext4 /dev/sdb1 //如果使用的mydisk格式化为ext2的格式
sudo mkfs.ntfs /dev/sdb1
34.5将u盘的分区挂载到系统上
sudo mount /dev/sdb1 ~/udisk
挂载后就可以向目录里拷贝文件,就相当于在对磁盘操作
34.6 取消挂载
sudo umount ~/udisk
35、通配符命令
ls *.c 统配任意个字符的字符串
ls ?.c =====>1.c 2.c 3.c 统配任意一个字符
[字符1字符2字符3...]
通配[]内的任意的一个字符
ls [123].c
[字符1-字符n]
通配[]内区间中的的任意的一个字符
ls [1-3].c
[^单词列表]
通配除[]内部区间中的的任意的一个字符
ls [^1-3].c
注:初学者,总结的可能不是很全面,有误的地方希望大佬们指正一下,不全的地方也希望大佬们评论在下方,我看见了会补上!