In: Computer Science
Command |
Example Usage |
Explanation |
whoami |
||
groups |
|
|
touch |
|
|
chmod |
|
Command | Example Usage | Explanation |
whoami |
Example 1: Display the domain and user name of the current user: whoami Example 2: Display the user groups to which the current user belongs: whoami/groups Example 3: Display all of the information in the current access taken: whoami/all |
whoami coomand is used iboth in Unix operating system and as well as windows operating system
|
groups |
Example 1: Provided with a user name Syntax: groups [username]... In this example, username akshay is passed with groups command and the output shows the groups in which the user demon is present, separated by a colon. Example 2: No username is passed then this will display group membership for the current user Syntax:$groups Here the current user is akshay. So when we give “groups” command only we get groups in which akshay is a user. Example 3: Passing root with groups command |
In linux, there can be multiple users(those who use/operate the system), and groups are nothing but the collection of users. Groups make it easy to manage users with the same security and access privileges. A user can be part of different groups.The groups command works irrespective of whether you provide it a username or not. In case there's no username, the tool displays group memberships for the current process.
|
touch |
Example:1 Create an empty file using touch To create an empty file using touch command on Linux systems, type touch followed by the file name, example is shown below, [root@linuxtechi ~]# touch devops.txt [root@linuxtechi ~]# ls -l devops.txt -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt [root@linuxtechi ~]# Example:2 Create empty files in bulk using touch There can be some scenario where we have to create lots of empty files for some testing, this can be easily achieved using touch command, [root@linuxtechi ~]# touch sysadm-{1..20}.txt Example:2 Create empty files in bulk using touch There can be some scenario where we have to create lots of empty files for some testing, this can be easily achieved using touch command, [root@linuxtechi ~]# touch sysadm-{1..20}.txt In the above example we have created 20 empty files with name sysadm-1.txt to sysadm-20.txt, you can change the name and numbers based on your requirements. Example:3 Change / Update access time of a file and directory Let’s assume we want to change access time of a file called “devops.txt“, to do this use ‘-a‘ option in touch command followed by file name, example is shown below, [root@linuxtechi ~]# touch -a devops.txt [root@linuxtechi ~]# Now verify whether access time of a file has been updated or not using ‘stat’ command [root@linuxtechi ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 22:39:29.365000000 -0400 Change: 2018-03-29 23:03:10.902000000 -0400 Birth: - [root@linuxtechi ~]# Change access time of a directory, Let’s assume we have a ‘nfsshare’ folder under /mnt, Let’s change the access time of this folder using the below command, [root@linuxtechi ~]# touch -a /mnt/nfsshare/ [root@linuxtechi ~]# [root@linuxtechi ~]# stat /mnt/nfsshare/ File: ‘/mnt/nfsshare/’ Size: 6 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 2258 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:mnt_t:s0 Access: 2018-03-29 23:34:38.095000000 -0400 Modify: 2018-03-03 10:42:45.194000000 -0500 Change: 2018-03-29 23:34:38.095000000 -0400 Birth: - [root@linuxtechi ~]# Example:4 Change Access time without creating new file There can be some situations where we want to change access time of a file if it exists and avoid creating the file. Using ‘-c‘ option in touch command, we can change access time of a file if it exists and will not a create a file, if it doesn’t exist. [root@linuxtechi ~]# touch -c sysadm-20.txt [root@linuxtechi ~]# touch -c winadm-20.txt [root@linuxtechi ~]# ls -l winadm-20.txt ls: cannot access winadm-20.txt: No such file or directory [root@linuxtechi ~]# Example:5 Change Modification time of a file and directory Using ‘-m‘ option in touch command, we can change the modification time of a file and directory, Let’s change the modification time of a file called “devops.txt”, Example:6 Changing access and modification time in one go Use “-am” option in touch command to change the access and modification together or in one go, example is shown below, [root@linuxtechi ~]# touch -am devops.txt [root@linuxtechi ~]# Example:7 Set the Access & modification time to a specific date and time Whenever we do change access and modification time of a file & directory using touch command, then it set the current time as access & modification time of that file or directory, Let’s assume we want to set specific date and time as access & modification time of a file, this is can be achieved using ‘-c’ & ‘-t’ option in touch command, Date and Time can be specified in the format: {CCYY}MMDDhhmm.ss Where:
Let’s set the access & modification time of devops.txt file for future date and time( 2025 year, 10th Month, 19th day of month, 18th hours and 20th minute) [root@linuxtechi ~]# touch -c -t 202510191820 devops.txt Use stat command to view the update access & modification time, Set the Access and Modification time based on date string, Use ‘-d’ option in touch command and then specify the date string followed by the file name, example is shown below, [root@linuxtechi ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt [root@linuxtechi ~]# Verify the status using stat command, [root@linuxtechi ~]# stat sysadm-20.txt File: ‘sysadm-20.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324189 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2010-02-07 20:15:12.000000000 +0530 Modify: 2010-02-07 20:15:12.000000000 +0530 Change: 2018-03-30 10:23:31.584000000 +0530 Birth: - [root@linuxtechi ~]# Cross verify the access and modification time using stat, [root@linuxtechi ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-30 00:06:20.145000000 -0400 Modify: 2018-03-30 00:06:20.145000000 -0400 Change: 2018-03-30 00:06:20.145000000 -0400 Birth: - [root@linuxtechi ~]# [root@linuxtechi ~]# touch -m devops.txt [root@linuxtechi ~]# Now verify whether modification time has been changed or not using stat command, [root@linuxtechi ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 23:59:49.106000000 -0400 Change: 2018-03-29 23:59:49.106000000 -0400 Birth: - [root@linuxtechi ~]# Similarly, we can change modification time of a directory, [root@linuxtechi ~]# touch -m /mnt/nfsshare/ [root@linuxtechi ~]# Example:8 Set the timestamps to a file using a reference file (-r) In touch command we can use a reference file for setting the timestamps of file or directory. Let’s assume I want to set the same timestamps of file “sysadm-20.txt” on “devops.txt” file. This can be easily achieved using ‘-r’ option in touch. Syntax: # touch -r {reference-file} actual-file [root@linuxtechi ~]# touch -r sysadm-20.txt devops.txt [root@linuxtechi ~]# Example:9 Change Access & Modification time on symbolic link file By default, whenever we try to change timestamps of a symbolic link file using touch command then it will change the timestamps of original file only, In case you want to change timestamps of a symbolic link file then this can be achieved using ‘-h’ option in touch command, Syntax: # touch -h {symbolic link file} [root@linuxtechi opt]# ls -l /root/linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt [root@linuxtechi ~]# touch -t 203010191820 -h linuxgeeks.txt [root@linuxtechi ~]# ls -l linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Oct 19 2030 linuxgeeks.txt -> linuxadmins.txt [root@linuxtechi ~]# |
Touch command is used to create empty files and also changes the timestamps of existing files on Unix & Linux System. Changing timestamps here means updating the access and modification time of files and directories.The touch command is primarily used to change file timestamps, but if the file (whose name is passed as an argument) doesn't exist, then the tool creates it.The touch command is a command line utility to update timestamps on files. UNIX and UNIX like operating systems store timestamp information for each file or folder including access time, modify time and change time. It is possible to modify timestamps using the touch command either to update a timestamp to the current time or to modify it to a date in the past. |
chmod |
Examples chmod 644 file.htm Set the permissions of file.htm to "owner can read and write; group can read only; others can read only". chmod -R 755 myfiles Recursively (-R) Change the permissions of the directory myfiles, and all folders and files it contains, to mode 755: User can read, write, and execute; group members and other users can read and execute, but cannot write. chmod u=rw example.jpg Change the permissions for the owner of example.jpg so that the owner may read and write the file. Do not change the permissions for the group, or for others. chmod u+s comphope.txt Set the "Set-User-ID" bit of comphope.txt, so that anyone who attempts to access that file does so as if they are the owner of the file. chmod u-s comphope.txt The opposite of the above command; un-sets the SUID bit. chmod 755 file.cgi Set the permissions of file.cgi to "read, write, and execute by owner" and "read and execute by the group and everyone else". chmod 666 file.txt Set the permission of file.txt to "read and write by everyone.". chmod a=rw file.txt Example 1 : BEFORE: -rw-rw-r-- mik mik assgn1_client.c COMMAND: chmod u=r assgn1_client.c AFTER: -r--rw-r-- mik mik assgn1_client.c Before : After : Example 2 : BEFORE: drwxrwxr-x mik mik EXA COMMAND: chmod u=rw EXA AFTER: drw-rwxr-x mik mik EXA After applying the chmod u=rw EXA command, the user (owner) cannot change the directory. If the user tries to change the directory, then it shows the message “Permission denied” as shown in the figure below : |
chmod - To change access permissions, change mode. chmod changes the permissions of each given file according to mode, where mode describes the permissions to modify. Mode can be specified with octal numbers or with letters.chmod changes the file mode of each specified FILE according to MODE, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits. |