Linux命令

终端:
hq@eduVm:~$
hq:用户名
eduVm:操作系统起的名字
~:所在路径 (家目录)
$:普通用户提示符

whoami:查看登录的用户
hostname:查看操作系统名
pwd:当前所处的绝对路径
$:shell提示符,如果当前用户为超级用户,提示符为#“#”,其他用户的提示符均为“$”
Command :命令名称,shell命令或程序,严格区分大小写
Options:命令选项,用于改变命令执行动作的类型,有“-”引导,可以同时带有多个选项
Argument:命令参数,指出命令作用的对象或目标,有的命令允许带多个参数
1.一条命令的三要素之间要用空格隔开
2.若将多个命令在一行书写,用分号将各命令隔开
3.如果一条命令不能在一行写完,在行尾使用反斜杠“\”标明该条命令未结束
快捷键:Ctrl+c:可以停止当前终端的操作
Ctrl+l:清屏
上下键可以翻看命令的历史
tab:补全 按两次:列出所有已输入内容开头的所有文件
ctrl+shift+‘+’:字体放大
ctrl+‘-’:字体缩小
终端的打开:
ctrl+shift+‘n’ :打开一个同路径的终端
ctrl+alt+‘t’ :打开一个以家目录为路径的新终端
ctrl+‘d’ :关闭终端 exit
Alt+tab:切换终端
查看命令的帮助文档:<命令> -help

基本系统维护命令

history:查看历史命令
history num:显示num条历史记录
alias:查看当前起别名的命令
alias dirlist=’ls-l’:将ls-l起别名为dirlist
unalias dirlist:取消别名
如果想永久让某些自定义命令生效,可以将配置写到 ~/.bashrc 中
man
man ls:查看ls命令的手册
man有多个手册,可用 man [num] <关键字> 来标识查看第几个手册
su
用户切换命令,默认为切换到超级管理员,su <用户名> 为切换为相应用户
su root
切换到root用户
linux中一切皆文件。不能顺便删除或更改根目录下的文件。
exit
退出切换的用户到登录用户
#:管理员用户的提示符
sudo
sudo<命令> 暂时以管理员权限执行某个命令
reboot
重启系统,需要超级管理员权限
reboot -f:强制重启
shutdown
关机

  1. sudo shutdown -h now:立即关机
  2. sudo shutdown -r now:立即重启
  3. sudo shutdown -h +10 "bybye":定时10分钟后关机
  4. sudo shutdown -r +10 :bybye":定时10分钟后重启

passwd
修改用户密码,有长度限制
echo
显示内容到标准输出
echo 123 > test.txt 将123写入test.txt中,原来的内容清空
echo 123 > test.txt 将123增加到test.txt中,保持原有内容不变,在尾部增加
date
显示和设置系统时间和日期
clear/ctrl+L
清屏
df
显示磁盘的使用情况

  1. df -h:以G单位显示磁盘的使用情况

mount
挂载磁盘
sudo mount -t 文件系统类型 文件系统 挂载点
如:sudo mount -t vfat /dev/sda1 /mnt
将U盘挂载到/num下
卸载
sudo umount /mnt

用户管理命令

adduser
添加一个新用户
adduser <用户名>
deluser
删除用户
deluser —remove-home <用户名>:删除用户和目录

文件系统命令

特殊目录

  1. /:根目录
  2. ~:家目录
  3. .:当前目录
  4. ..:上一层目录
  5. -:上一次操作的目录

绝对路径:从根目录出发的路径称为绝对路径
相对路径:从当前目录出发的路径称为相对路径

cd
切换目录
cd [目录名]

  1. cd /home/1 以绝对路径进入某个目录
  2. cd abc 以相对路径进入某个目录
  3. cd 进入家目录
  4. cd -:切换到上次操作的目录
  5. cd ..:切换到上一级目录
  6. cd .:切换到当前
  7. cd ~:回家
  8. cd /home/hq:回家

ls
查看当前文件夹内容
ls [选项] [文件名
-i:查看文件的inode
-a:显示隐藏文件
所有的隐藏文件都 . 开头
-l:显示文件具体信息(可简写为 ll )
-rw-r—r— 1 jiaoyue admin 100 Jun 26 00:41 test.c
用户 属于的组 大小(字节) 修改时间 文件名
-rw-r—r—
第一个字符:文件的类型
Linux中七种文件类型:bcd-lsp
b:块设备
c:字符设备
d:目录
-:普通文件
l:软连接(快捷方式)
s:网络设备
p:管道文件
三组字符含义:文件拥有者(u)/组用户(g)/其它用户(o) user/proup/other/all
rwx:用户对文件有 可读可写可执行
rw-:用户对文件有 可读可写不可执行

pwd

显示当前文件夹的绝对路径

cat

显示文件内容
cat <文件名>

mkdir

创建目录
mkdir <目录名>
mkdir file1 file2 … :创建多个同级文件夹
mkdir -p 文件1/文件2/文件3/… :创建多级目录

rmdir

删除目录
rmdir <目录名>

touch

创建一个普通文本文件
touch <文件名>
注:注意创建普通文件需要加.后缀
.c c代码文件
.sh 脚本文件
.cpp c++文件
.txt 文本文件
.elf 可执行文件

rm

删除文件或目录
rm <文件名>
注意:对文件夹的删除需要加-r
-f:强制删除
rm -r 删除目录

cp

复制文件或目录
cp <源文件名> <目的路径+文件名>
cp <源目录> <目的目录> -r
注意:对文件夹的复制需要加-r
普通文件的.后缀保持一致

mv

移动文件
mv <源文件名> <目的路径>
mv <源文件名> <新文件名>
mv a.txt /home/1/b.txt 移动a.txt到/home/1/下并更名为b.txt
mv对文件夹不需要加-r

chmod

改变文件或目录的访问权限

方法1:chmod +/-(r/w/x) <文件名字>
分别修改不同用户组
三个不同访问权限:rwx(读、写、执行)
四个不同用户组:u(文件拥有者)g(组用户)o(其它用户) a(全部)
三种不同操作:+(增加权限)-(删除权限)=(设置权限)
比如:chmod a+rx,u+w test.c 表示给所有用户增加读执行权限,给文件拥有者增加写权限

方法2:直接用数字修改
chmod <权限> 文件
使用8421码来表示权限
chmod 751 <文件名> //改变当前文件的权限 rwxr-x—x

wc

统计指定文件中的行数、字数、字节数
wc -w 文件名:显示单词个数
wc -l 文件名:显示行数
wc -c 文件名:显示字符个数

find

查找文件
find -name buffer.c 在当前目录查找文件名为buffer.c的文件
find -name buffer* 在当前目录中查找文件名包含“buffer”字样的文件

grep

查找字符串
grep“需要查找字符串” * -nR 在当前目录递归查找某个字符串并显示所在行号

tar

压缩

  1. tar czf dirA.tar.gz dirA 将目录dirA压缩为dirA.tar.gz gzip方式压缩
  2. tar cjf dirA.tar.bz2 dirA 将目录dirA压缩为dirA.tar.bz2 bzip2方式压缩

解压

  1. tar xzf dirA.tar.gz
  2. tar xjf dirA.tar.bz2
  3. tar xzf dirA.tar.gz -C <解压目录>
  4. tar xjf dirA.tar.bz2 -C <解压目录>

zip

压缩
zip -r mydata.zip mydata 压缩mydata目录
解压
unzip mydata.zip -d mydatabak 把mydata.zip解压到mydatabak目录里面

网络配置命令

ifconfig

查看网络配置

ping

网络连接检测工具,ping命令测试的远程主机,既可用域名,也可用IP地址标识。

通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

通配符 含义 实例
星号(*) 匹配任意长度的字符串 file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt
问号(?) 匹配一个长度的字符 file_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt
方括号([…]) 匹配其中指定的一个字符 file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
方括号([ - ]) 匹配指定的一个字符范围 file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt
方括号([^…]) 除了其中指定的字符,均可匹配 file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的其他文件

所需的文件列表:
file_wang.txt file_Lee.txt file3_Liu.txt file_1.txt file1_2.txt file_3.txt file_o.txt file_r.txt file_t.txt file_a.txt file_b.txt file_z.txt

管道

前一个命令的输出作为后一个命令的输入
ls | wc -w:统计当前目录下文件的个数
cat 1.c | grep int:查找1.c中int字符串

输入/输出重定向

输入/输出重定向是改变Shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。Linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件。

重定向符 含义 实例
> file 将file文件重定向为输出源,新建模式 ls /usr > Lsoutput.txt,将ls /usr的执行结果,写到Lsoutput.txt文件中,若有同名文件将被删除
>> file 将file文件重定向为输出源,追加模式 ls /usr >> Lsoutput..txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后
< file 将file文件重定向为输入源 wc -w < file1,将file1中的内容作为输入传给wc命令
2> 或 &> 将由命令产生的错误信息重定向 ls noexistingfile.txt 2> err.log,使用ls命令,查看一个不存在的文件时,将系统错误提示保存在err.log文件中