Based on the provided image, I will create a guide for using the listed commands on CentOS 7, replacing any Debian-specific commands with their CentOS 7 equivalents. Here's a comprehensive guide:
基本介绍命令
who
- 作用:显示当前登录的用户
- 示例:
who
date
- 作用:显示或设置系统日期和时间
- 示例:
date
- 参数:
date -s "2024-06-22 14:30:00"
clear
- 作用:清屏
- 示例:
clear
shutdown
- 作用:关闭系统
- 示例:
shutdown -h now
(立即关机)
reboot
- 作用:重启系统
- 示例:
reboot
alias
- 作用:定义命令别名
- 示例:
alias ll='ls -l'
unalias
- 作用:取消命令别名
- 示例:
unalias ll
sudo
- 作用:以超级用户身份执行命令
- 示例:
sudo yum update
history
- 作用:显示命令历史
- 示例:
history
常用命令
ls
- 作用:列出目录内容
- 示例:
ls -l
cp
- 作用:复制文件或目录
- 示例:
cp source.txt destination.txt
mv
- 作用:移动或重命名文件或目录
- 示例:
mv oldname.txt newname.txt
rm
- 作用:删除文件或目录
- 示例:
rm file.txt
cat
- 作用:连接并显示文件内容
- 示例:
cat file.txt
more
- 作用:逐页显示文件内容
- 示例:
more file.txt
less
- 作用:分屏显示文件内容
- 示例:
less file.txt
head
- 作用:显示文件的开头部分
- 示例:
head -n 10 file.txt
tail
- 作用:显示文件的末尾部分
- 示例:
tail -n 10 file.txt
file
- 作用:确定文件类型
- 示例:
file file.txt
touch
- 作用:创建空文件或更新文件时间戳
- 示例:
touch newfile.txt
ln
- 作用:创建链接
- 示例:
ln -s targetfile.txt symlink.txt
tar
- 作用:存档文件
- 示例:
tar -cvf archive.tar file.txt
pwd
- 作用:显示当前工作目录
- 示例:
pwd
cd
- 作用:更改目录
- 示例:
cd /path/to/directory
mkdir
- 作用:创建目录
- 示例:
mkdir newdir
rmdir
- 作用:删除空目录
- 示例:
rmdir emptydir
vi
- 作用:文本编辑器
- 示例:
vi file.txt
用户管理
useradd
- 作用:添加用户
- 示例:
sudo useradd username
passwd
- 作用:修改用户密码
- 示例:
sudo passwd username
userdel
- 作用:删除用户
- 示例:
sudo userdel username
usermod
- 作用:修改用户信息
- 示例:
sudo usermod -aG groupname username
groupadd
- 作用:添加用户组
- 示例:
sudo groupadd groupname
groupdel
- 作用:删除用户组
- 示例:
sudo groupdel groupname
chmod
- 作用:更改文件权限
- 示例:
chmod 755 file.txt
chown
- 作用:更改文件所有者
- 示例:
chown user:group file.txt
进程和服务
ps
- 作用:显示当前进程
- 示例:
ps aux
pstree
- 作用:显示进程树
- 示例:
pstree
top
- 作用:实时显示系统资源使用情况
- 示例:
top
kill
- 作用:终止进程
- 示例:
kill -9 pid
killall
- 作用:终止所有指定名称的进程
- 示例:
killall processname
nice
- 作用:设置进程优先级
- 示例:
nice -n 10 command
renice
- 作用:重新设置进程优先级
- 示例:
renice -n 10 pid
crontab
- 作用:定时任务表
- 示例:
crontab -e
(编辑定时任务)
systemctl
- 作用:管理系统服务
- 示例:
sudo systemctl start service
网络
ping
- 作用:测试网络连通性
- 示例:
ping google.com
ifconfig
- 作用:显示或配置网络接口 (已过时,建议使用
ip
) - 示例:
ifconfig
- 作用:显示或配置网络接口 (已过时,建议使用
netstat
- 作用:显示网络连接和端口
- 示例:
netstat -tuln
软件
dpkg
- 替换为
rpm
- 作用:管理RPM软件包
- 示例:
rpm -ivh package.rpm
- 替换为
apt-get
和apt
- 替换为
yum
- 作用:软件包管理器
- 示例:
sudo yum install package
- 替换为
编译
gcc
- 作用:GNU编译器
- 示例:
gcc -o output file.c
make
- 作用:自动化构建工具
- 示例:
make
bash
- 作用:Bash Shell
- 示例:
bash script.sh
希望这些命令和示例对你有帮助。如果有任何问题,请随时提问。
好的,以下是更加详细的CentOS 7命令使用指南,包括基本使用、参数讲解和操作例子。
基本介绍命令
who
- 作用:显示当前登录的用户。
- 参数:无参数。
- 示例:
- 显示所有当前登录的用户:
who
- 显示所有当前登录的用户并包含详细信息:
who -a
- 显示所有当前登录的用户:
date
- 作用:显示或设置系统日期和时间。
- 参数:
-s
设置时间。 - 示例:
- 显示当前日期和时间:
date
- 设置系统时间为2024年6月22日14:30:00:
sudo date -s "2024-06-22 14:30:00"
- 显示当前日期和时间:
clear
- 作用:清屏。
- 参数:无参数。
- 示例:
- 清屏:
clear
- 清屏:
shutdown
- 作用:关闭系统。
- 参数:
-h
关机,-r
重启。 - 示例:
- 立即关机:
sudo shutdown -h now
- 10分钟后关机:
sudo shutdown -h +10
- 立即关机:
reboot
- 作用:重启系统。
- 参数:无参数。
- 示例:
- 立即重启:
sudo reboot
- 立即重启:
alias
- 作用:定义命令别名。
- 参数:
alias name='command'
。 - 示例:
- 定义
ll
为ls -l
:alias ll='ls -l'
- 定义
gs
为git status
:alias gs='git status'
- 定义
unalias
- 作用:取消命令别名。
- 参数:
unalias name
。 - 示例:
- 取消
ll
别名:unalias ll
- 取消
gs
别名:unalias gs
- 取消
sudo
- 作用:以超级用户身份执行命令。
- 参数:
command
。 - 示例:
- 以超级用户身份更新系统:
sudo yum update
- 以超级用户身份编辑文件:
sudo vi /etc/hosts
- 以超级用户身份更新系统:
history
- 作用:显示命令历史。
- 参数:无参数。
- 示例:
- 显示命令历史:
history
- 显示最近10条命令:
history 10
- 显示命令历史:
常用命令
ls
- 作用:列出目录内容。
- 参数:
-l
详细列表,-a
显示所有文件包括隐藏文件。 - 示例:
- 列出当前目录内容:
ls
- 列出详细信息:
ls -l
- 列出当前目录内容:
cp
- 作用:复制文件或目录。
- 参数:
-r
递归复制。 - 示例:
- 复制文件:
cp source.txt destination.txt
- 递归复制目录:
cp -r sourcedir destinationdir
- 复制文件:
mv
- 作用:移动或重命名文件或目录。
- 参数:无参数。
- 示例:
- 移动文件:
mv oldname.txt newdir/
- 重命名文件:
mv oldname.txt newname.txt
- 移动文件:
rm
- 作用:删除文件或目录。
- 参数:
-r
递归删除,-f
强制删除。 - 示例:
- 删除文件:
rm file.txt
- 递归删除目录:
rm -rf directory
- 删除文件:
cat
- 作用:连接并显示文件内容。
- 参数:无参数。
- 示例:
- 显示文件内容:
cat file.txt
- 合并文件内容:
cat file1.txt file2.txt > merged.txt
- 显示文件内容:
more
- 作用:逐页显示文件内容。
- 参数:无参数。
- 示例:
- 显示文件内容:
more file.txt
- 管道使用:
cat file.txt | more
- 显示文件内容:
less
- 作用:分屏显示文件内容。
- 参数:无参数。
- 示例:
- 显示文件内容:
less file.txt
- 管道使用:
cat file.txt | less
- 显示文件内容:
head
- 作用:显示文件的开头部分。
- 参数:
-n
指定行数。 - 示例:
- 显示文件前10行:
head file.txt
- 显示文件前20行:
head -n 20 file.txt
- 显示文件前10行:
tail
- 作用:显示文件的末尾部分。
- 参数:
-n
指定行数,-f
实时更新。 - 示例:
- 显示文件末尾10行:
tail file.txt
- 实时跟踪文件:
tail -f logfile.txt
- 显示文件末尾10行:
file
- 作用:确定文件类型。
- 参数:无参数。
- 示例:
- 显示文件类型:
file file.txt
- 显示多个文件类型:
file file1.txt file2.txt
- 显示文件类型:
touch
- 作用:创建空文件或更新文件时间戳。
- 参数:无参数。
- 示例:
- 创建新文件:
touch newfile.txt
- 更新文件时间戳:
touch existingfile.txt
- 创建新文件:
ln
- 作用:创建链接。
- 参数:
-s
创建符号链接。 - 示例:
- 创建硬链接:
ln sourcefile.txt hardlink.txt
- 创建符号链接:
ln -s sourcefile.txt symlink.txt
- 创建硬链接:
tar
- 作用:存档文件。
- 参数:
-c
创建,-x
解压,-v
详细,-f
指定文件。 - 示例:
- 创建归档:
tar -cvf archive.tar file.txt
- 解压归档:
tar -xvf archive.tar
- 创建归档:
pwd
- 作用:显示当前工作目录。
- 参数:无参数。
- 示例:
- 显示当前工作目录:
pwd
- 显示当前工作目录:
cd
- 作用:更改目录。
- 参数:目录路径。
- 示例:
- 进入指定目录:
cd /path/to/directory
- 返回上级目录:
cd ..
- 进入指定目录:
mkdir
- 作用:创建目录。
- 参数:
-p
创建父目录。 - 示例:
- 创建目录:
mkdir newdir
- 递归创建目录:
mkdir -p parentdir/childdir
- 创建目录:
rmdir
- 作用:删除空目录。
- 参数:无参数。
- 示例:
- 删除空目录:
rmdir emptydir
- 递归删除目录:
rmdir -p parentdir/childdir
- 删除空目录:
vi
- 作用:文本编辑器。
- 参数:文件名。
- 示例:
- 打开文件:
vi file.txt
- 创建新文件:
vi newfile.txt
- 打开文件:
用户管理
useradd
- 作用:添加用户。
- 参数:
-m
创建主目录,-s
指定Shell。 - 示例:
- 添加用户:
sudo useradd username
- 添加用户并创建主目录:
sudo useradd -m username
- 添加用户:
passwd
- 作用:修改用户密码。
- 参数:用户名。
- 示例:
- 修改当前用户密码:
passwd
- 修改指定用户密码:
sudo passwd username
- 修改当前用户密码:
userdel
- 作用:删除用户。
- 参数:
-r
删除主目录。 - 示例:
- 删除用户:
sudo userdel username
- 删除用户及其主目录:
sudo userdel -r username
- 删除用户:
usermod
- 作用:修改用户信息。
- 参数:
-aG
添加到组,-s
更改Shell。 - 示例:
- 将用户添加到组:
sudo usermod -aG groupname username
- 更改用户的Shell:
sudo usermod -s /bin/bash username
- 将用户添加到组:
groupadd
- 作用:添加用户组。
- 参数:组名。
- 示例:
- 添加组:
sudo groupadd groupname
- 添加组并指定GID:
sudo groupadd -g 1001 groupname
- 添加组:
groupdel
- 作用:删除用户组。
- 参数:组名。
- 示例:
- 删除组:
sudo groupdel groupname
- 删除组:
chmod
- 作用:更改文件权限。
- 参数:权限值或符号表示法。
- 示例:
- 设置文件为755权限:
chmod 755 file.txt
- 添加执行权限给所有人:
chmod a+x script.sh
- 设置文件为755权限:
chown
- 作用:更改文件所有者。
- 参数:
user:group
。 - 示例:
- 更改文件所有者:
chown user file.txt
- 更改文件所有者和组:
chown user:group file.txt
- 更改文件所有者:
进程和服务
ps
- 作用:显示当前进程。
- 参数:
aux
显示所有进程。 - 示例:
- 显示当前用户的进程:
ps
- 显示所有进程:
ps aux
- 显示当前用户的进程:
pstree
- 作用:显示进程树。
- 参数:无参数。
- 示例:
- 显示进程树:
pstree
- 显示所有用户的进程树:
pstree -a
- 显示进程树:
top
- 作用:实时显示系统资源使用情况。
- 参数:无参数。
- 示例:
- 显示实时资源使用情况:
top
- 显示特定用户的进程:
top -u username
- 显示实时资源使用情况:
kill
- 作用:终止进程。
- 参数:
-9
强制终止。 - 示例:
- 终止进程:
kill pid
- 强制终止进程:
kill -9 pid
- 终止进程:
killall
- 作用:终止所有指定名称的进程。
- 参数:进程名。
- 示例:
- 终止进程:
killall processname
- 强制终止进程:
killall -9 processname
- 终止进程:
nice
- 作用:设置进程优先级。
- 参数:
-n
指定优先级。 - 示例:
- 以默认优先级启动命令:
nice command
- 以指定优先级启动命令:
nice -n 10 command
- 以默认优先级启动命令:
renice
- 作用:重新设置进程优先级。
- 参数:优先级和进程ID。
- 示例:
- 修改进程优先级:
renice 10 pid
- 修改所有进程的优先级:
renice -n 10 -u username
- 修改进程优先级:
crontab
- 作用:定时任务表。
- 参数:
-e
编辑,-l
列出。 - 示例:
- 编辑当前用户的定时任务:
crontab -e
- 列出当前用户的定时任务:
crontab -l
- 编辑当前用户的定时任务:
systemctl
- 作用:管理系统服务。
- 参数:
start
启动,stop
停止,status
状态,enable
启用,disable
禁用。 - 示例:
- 启动服务:
sudo systemctl start service
- 启用服务开机启动:
sudo systemctl enable service
- 启动服务:
网络
ping
- 作用:测试网络连通性。
- 参数:目标地址。
- 示例:
- 测试到Google的连通性:
ping google.com
- 测试到指定IP的连通性:
ping 8.8.8.8
- 测试到Google的连通性:
ifconfig
- 作用:显示或配置网络接口 (已过时,建议使用
ip
)。 - 参数:无参数。
- 示例:
- 显示所有网络接口:
ifconfig
- 显示特定接口:
ifconfig eth0
- 显示所有网络接口:
- 作用:显示或配置网络接口 (已过时,建议使用
netstat
- 作用:显示网络连接和端口。
- 参数:
-t
显示TCP连接,-u
显示UDP连接,-l
显示监听端口。 - 示例:
- 显示所有连接:
netstat -a
- 显示监听的TCP端口:
netstat -tl
- 显示所有连接:
软件
rpm
- 作用:管理RPM软件包。
- 参数:
-i
安装,-e
卸载,-q
查询。 - 示例:
- 安装RPM包:
sudo rpm -ivh package.rpm
- 查询已安装的包:
rpm -qa | grep package
- 安装RPM包:
yum
- 作用:软件包管理器。
- 参数:
install
安装,remove
卸载,update
更新。 - 示例:
- 安装软件包:
sudo yum install package
- 更新所有软件包:
sudo yum update
- 安装软件包:
编译
gcc
- 作用:GNU编译器。
- 参数:
-o
输出文件名。 - 示例:
- 编译C程序:
gcc -o output file.c
- 显示编译详细信息:
gcc -v -o output file.c
- 编译C程序:
make
- 作用:自动化构建工具。
- 参数:无参数。
- 示例:
- 使用Makefile编译程序:
make
- 清理构建文件:
make clean
- 使用Makefile编译程序:
bash
- 作用:Bash Shell。
- 参数:脚本文件。
- 示例:
- 运行Bash脚本:
bash script.sh
- 交互式启动Bash:
bash
- 运行Bash脚本:
这份指南提供了常见命令的基本使用方法和详细示例,希望对你有帮助。如果需要更多信息或有其他问题,请随时提问。
好的,下面是一个使用 gcc
进行程序编译和调试的详细示例。
示例程序:Hello World with Debugging
1. 创建一个简单的C程序
首先,创建一个简单的C程序文件,命名为 hello.c
:
c#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
2. 编译程序
使用 gcc
编译程序,并生成包含调试信息的可执行文件。调试信息可以通过 -g
参数添加:
shgcc -g -o hello hello.c
以上命令将生成一个名为 hello
的可执行文件,并包含调试信息。
3. 使用 gdb
进行调试
GNU调试器(GDB)可以用于调试包含调试信息的可执行文件。以下是调试的几个基本步骤:
启动GDB
shgdb hello
设置断点
在 main
函数处设置断点:
sh(gdb) break main
运行程序
开始运行程序:
sh(gdb) run
程序将在 main
函数的开头处停止:
bashStarting program: /path/to/hello
Breakpoint 1, main () at hello.c:4
4 printf("Hello, World!\n");
单步执行
逐步执行程序,每次执行一行代码:
sh(gdb) next
查看变量值
查看变量的值(在这个例子中没有变量,但我们可以查看内置变量):
sh(gdb) print argc
继续运行程序
继续运行程序直到下一个断点或程序结束:
sh(gdb) continue
退出GDB
退出调试器:
sh(gdb) quit
完整示例
以下是一个更详细的示例,包括一个简单的C程序、编译和调试的完整过程:
1. 创建C程序文件
创建一个名为 example.c
的文件,并编写以下代码:
c#include <stdio.h>
void say_hello() {
printf("Hello, World!\n");
}
int main() {
int number = 5;
printf("Number: %d\n", number);
say_hello();
return 0;
}
2. 编译程序
使用以下命令编译程序并包含调试信息:
shgcc -g -o example example.c
3. 使用GDB调试程序
启动GDB:
shgdb example
在 main
函数和 say_hello
函数处设置断点:
sh(gdb) break main
(gdb) break say_hello
运行程序:
sh(gdb) run
程序将在 main
函数处停止,单步执行到 number
变量赋值行:
sh(gdb) next
查看 number
变量的值:
sh(gdb) print number
继续运行程序直到 say_hello
函数断点:
sh(gdb) continue
程序将在 say_hello
函数处停止,单步执行 printf
行:
sh(gdb) next
继续运行程序直到结束:
sh(gdb) continue
退出GDB:
sh(gdb) quit
通过上述步骤,您可以使用 gcc
和 gdb
对C程序进行编译和调试。这是一个基本的示例,实际调试过程中可能会用到更多的GDB命令和功能。