unix commands cheat sheet pdf
Unix Commands Cheat Sheet PDF⁚ A Comprehensive Guide
This Unix commands cheat sheet aims to help you pick up and brush up high-priority Unix command-line operations easily. It covers essential commands for file management, permissions, environment variables, users, networking, processes, and more. This cheat sheet also includes tips and tricks to help you become more efficient in using the Unix command line.
Introduction
The Unix command line is a powerful tool for managing files, directories, and processes on a Unix-based system. It provides a text-based interface to interact with the operating system, allowing users to perform tasks that are not possible with a graphical user interface. While the command line can seem intimidating at first, it is actually quite easy to learn and use.
This Unix commands cheat sheet is designed to help you learn the essential commands you need to know to be productive on the command line. It covers a wide range of topics, from basic commands for navigating the file system to more advanced commands for managing processes and networking. Whether you are a beginner or an experienced user, this cheat sheet will be a valuable resource for you.
The Unix command line is a powerful tool that can be used for a wide range of tasks. With this cheat sheet, you will be able to master the essential commands and become more efficient in using the Unix command line.
Basic Commands
These commands are the foundation of working with the Unix command line. They are used to navigate the file system, view files, and create and delete files and directories.
- ls⁚ Lists the contents of a directory. Use
ls -l
for a long listing, which includes file permissions, size, owner, and modification date. - cd⁚ Changes the current working directory. Use
cd ..
to move up one directory level,cd /
to go to the root directory, orcd ~
to go to your home directory. - pwd⁚ Prints the current working directory. This is useful for determining your current location in the file system.
- mkdir⁚ Creates a new directory. Use
mkdir directory_name
to create a new directory named “directory_name”. - rmdir⁚ Removes an empty directory. Use
rmdir directory_name
to remove a directory named “directory_name”. - touch⁚ Creates an empty file. Use
touch file_name
to create a file named “file_name”. - cat⁚ Displays the contents of a file. Use
cat file_name
to view the contents of the file named “file_name”. - echo⁚ Prints text to the terminal. Use
echo "Hello, world!"
to print the text “Hello, world!” to the terminal.
These basic commands are the building blocks for more complex commands. By understanding these commands, you can begin to navigate the Unix command line and perform a wide range of tasks.
File Management Commands
These commands are essential for working with files in the Unix environment. They allow you to manipulate, copy, move, and delete files with precision and efficiency.
- cp⁚ Copies files or directories. Use
cp source destination
to copy a file or directory from “source” to “destination”. For example,cp file.txt /home/user/Documents
would copy the file “file.txt” to the “Documents” folder in the user’s home directory. To copy a directory recursively, use the-r
flag, likecp -r directory/ /home/user/Documents
. - mv⁚ Moves or renames files or directories. Use
mv source destination
to move or rename a file or directory from “source” to “destination”. For example,mv file.txt /home/user/Documents
would move the file “file.txt” to the “Documents” folder in the user’s home directory. To rename a file, use the same command but specify a different file name as the destination, likemv old_file_name new_file_name
. - rm⁚ Removes files or directories. Use
rm file_name
to delete a file named “file_name”. To delete a directory, use the-r
flag to remove it recursively, likerm -r directory_name
. Be extremely cautious with therm
command, as it permanently deletes files and cannot be undone. - head⁚ Displays the first few lines of a file. Use
head file_name
to display the first 10 lines of the file “file_name”. You can specify the number of lines using the-n
flag, for example,head -n 5 file_name
would display the first 5 lines. - tail⁚ Displays the last few lines of a file; Use
tail file_name
to display the last 10 lines of the file “file_name”. You can specify the number of lines using the-n
flag, for example,tail -n 5 file_name
would display the last 5 lines.
These commands provide the essential tools for managing files in the Unix environment, making it easy to organize, copy, move, and delete files as needed. Remember to use caution with the rm
command, as it permanently deletes files.
Directory Navigation Commands
These commands are essential for navigating the file system hierarchy in Unix. They allow you to move between different directories, list directory contents, and determine your current location within the file system.
- cd⁚ Changes the current working directory. Use
cd directory_name
to change to the directory named “directory_name”. For example,cd /home/user/Documents
would change to the “Documents” folder in the user’s home directory. You can usecd ..
to move one level up in the directory hierarchy, andcd ~
to go to your home directory. - pwd⁚ Prints the current working directory. Use
pwd
to display the full path of your current location in the file system. This command is useful for determining your current position within the directory structure. - ls⁚ Lists the contents of a directory. Use
ls
to list the files and directories within the current working directory. To list files and directories in long format, including permissions, file size, and modification date, usels -l
. To list hidden files, usels -a
. To list files and directories in a tree-like structure, usels -R
. - mkdir⁚ Creates a new directory. Use
mkdir directory_name
to create a new directory named “directory_name”. For example,mkdir new_directory
would create a new directory called “new_directory” in the current working directory. - rmdir⁚ Removes an empty directory. Use
rmdir directory_name
to remove an empty directory named “directory_name”. Be careful, as this command will only remove empty directories. To remove a non-empty directory, you must use therm -r
command, but be cautious, as this permanently deletes the directory and its contents.
These commands provide the essential tools for navigating the Unix file system. They enable you to move between directories, list directory contents, and determine your current location with ease.
Permissions Commands
Unix permissions control who can access and modify files and directories; Understanding and managing permissions is crucial for security and proper file management. These commands allow you to view, change, and manage file permissions.
- ls -l⁚ Provides a detailed listing of files and directories, including their permissions. The first of each listing represent file permissions. They consist of three sets of three characters⁚ user permissions, group permissions, and other permissions. Each set represents read (r), write (w), and execute (x) permissions. For example, “-rw-rw-r–” indicates that the owner can read and write to the file, members of the group can read and write, and others can only read.
- chmod⁚ Changes file permissions. It uses a numerical representation of permissions. Each set of permissions (user, group, other) is represented by a three-digit octal number. For example,
chmod 755 file.txt
would grant the owner full access (read, write, execute), group members read and execute permissions, and others read permissions. The first digit represents user permissions, the second represents group permissions, and the third represents other permissions; Each digit is calculated by adding 4 for read, 2 for write, and 1 for execute. For example, 7 (read, write, execute) is 4 + 2 + 1. - chown⁚ Changes file ownership. Use
chown user⁚group file.txt
to change the owner and group of a file to “user” and “group”, respectively. This is useful for transferring ownership of files or directories between users or groups. - chgrp⁚ Changes file group ownership. Use
chgrp group file.txt
to change the group ownership of a file to “group”. This command is useful when you need to change the group that has access to a particular file.
These commands enable you to control who can access and modify files and directories in Unix. Understanding permissions is essential for maintaining a secure and organized file system.
Environment Variables Commands
Environment variables are dynamic named values that affect the behavior of a Unix shell and its processes. They provide a way to customize the shell’s environment, store system information, and pass data between programs. These commands help you manage and interact with environment variables.
- env⁚ Displays all currently set environment variables and their values. It shows a list of variable names and their corresponding values, providing a snapshot of the current environment. You can use it to check the values of specific variables or see the overall environment settings.
- set⁚ Displays all shell variables, including environment variables and shell-specific variables. It provides a more comprehensive view of the shell’s state, including both environment variables and variables specific to the shell’s configuration.
- printenv⁚ Displays the value of a specific environment variable. Use it to check the value of a particular variable without displaying the entire list of variables. For example,
printenv PATH
would show the value of the PATH environment variable. - export⁚ Creates or modifies an environment variable. This command makes a variable available to child processes. It is used to set up variables that need to be accessible across different programs or scripts. For example,
export MY_VAR="value"
would create an environment variable named MY_VAR with the value “value”. - unset⁚ Removes an environment variable. This command removes a variable from the shell’s environment, effectively deleting it. For example,
unset MY_VAR
would remove the MY_VAR environment variable.
These commands give you the power to manage and utilize environment variables in your Unix shell. By understanding and effectively employing environment variables, you can tailor the shell’s behavior, store system information, and pass data between programs, enhancing your Unix experience.
User Management Commands
Unix systems are known for their robust user management capabilities, enabling secure access control and efficient system administration. These commands provide a foundation for managing users, groups, and permissions, ensuring secure and organized system operation.
- useradd⁚ Creates a new user account. This command allows you to add new users to the system, specifying details like username, password, home directory, and user group. It ensures that new users can access the system with appropriate permissions and configurations.
- userdel⁚ Deletes a user account. This command removes a user account from the system, including its associated files and data. It provides a way to manage user accounts, removing inactive or unnecessary accounts and reclaiming system resources.
- passwd⁚ Changes a user’s password. This command allows users to change their passwords securely, enhancing system security by ensuring that user accounts are protected with strong and unique passwords.
- groupadd⁚ Creates a new group. This command allows you to create new groups on the system, organizing users based on their roles or privileges. It facilitates efficient user management by grouping users based on shared permissions and responsibilities.
- groupdel⁚ Deletes a group. This command removes a group from the system, removing any users associated with the group. It provides a way to manage groups, removing inactive or unnecessary groups and streamlining system administration.
- id⁚ Displays the user and group IDs of the current user. This command shows the numeric IDs associated with the current user, including their user ID and group IDs. It provides a way to identify the current user’s permissions and privileges.
- groups⁚ Lists the groups that a user belongs to. This command displays the names of the groups that a user is a member of. It helps identify a user’s group memberships and understand their permissions and access rights.
These commands provide a set of tools for managing user accounts, groups, and permissions, essential for maintaining a secure and well-organized Unix system. By utilizing these commands effectively, administrators can ensure that users have appropriate access levels and that the system remains secure and efficient.
Networking Commands
Unix systems offer a powerful suite of commands for managing and interacting with networks, enabling users to connect, communicate, and manage network resources effectively. These commands provide a foundation for network administration, troubleshooting, and data transfer, enhancing connectivity and network efficiency.
- ping⁚ Sends an ICMP echo request to a network host and receives a reply. This command verifies network connectivity by sending and receiving network packets, helping determine if a host is reachable and estimate network latency. It is a basic but essential tool for troubleshooting network connectivity issues.
- ifconfig⁚ Configures and displays network interface settings. This command allows you to view and modify network interface settings like IP addresses, subnet masks, and MAC addresses. It is crucial for managing network interfaces, configuring network connections, and troubleshooting network problems.
- netstat⁚ Displays network connections, routing tables, and interface statistics. This command provides a comprehensive overview of network activity, including active connections, routing information, and network interface statistics. It is a powerful tool for monitoring network traffic, identifying network bottlenecks, and troubleshooting network issues.
- route⁚ Manages the routing table. This command allows you to view and modify the routing table, which determines how network traffic is forwarded to its destination. It is essential for configuring network routes and ensuring that network traffic is directed correctly.
- nslookup⁚ Performs DNS lookups. This command resolves domain names to IP addresses, providing information about domain name servers and their associated IP addresses. It is essential for understanding DNS resolution and troubleshooting domain name-related issues.
- ssh⁚ Securely connects to a remote server. This command provides a secure and encrypted connection to a remote server, allowing users to access remote systems and execute commands securely. It is essential for remote administration, data transfer, and secure access to remote resources.
- scp⁚ Securely copies files between systems. This command allows users to securely copy files between systems, maintaining data integrity and confidentiality during transfer. It is essential for transferring files between servers and ensuring data security.
These commands form a core set of tools for managing and interacting with networks in Unix environments. They empower users to diagnose network problems, configure network connections, and securely transfer data, ensuring reliable and efficient network operation.